jQuery包含带有可变语法的()

Mir*_*cea 22 javascript syntax jquery

我在jQuery应用程序中有一个"未捕获的异常:语法错误,无法识别的表达式:)".

代码是:

<script>
    $(document).ready(function(){                      
        $('.drag').click(function() {
           $('.drag').each(function(i) {
                $(this).addClass('test' + i)
            });  

           var vtxt = $(this).text();
           $("p").removeClass("on");
           $("p:contains("+ vtxt +")").addClass("on");

       });
    });
Run Code Online (Sandbox Code Playgroud)

问题是当我将变量vtxt添加到contains: $("p:contains("+ vtxt +")").addClass("on");

我试过几个引号,但它不起作用.将变量添加到包含的正确语法是什么?

And*_*are 49

试试这个:

$("p:contains('" + vtxt + "')").addClass("on");
Run Code Online (Sandbox Code Playgroud)


Nel*_*nim 7

老问题,但我必须留给后代留言.安德鲁的答案(被接受的答案)对我不起作用.什么的工作使用预制的字符串作为选择了.借用OP的例子:

var selector = "p:contains("+ vtxt +")";
$(selector).addClass("on");
Run Code Online (Sandbox Code Playgroud)