我在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");
});
});
问题是当我将变量vtxt添加到contains时: $(“p:contains(”+ vtxt +“)”)。addClass(“on”);
我尝试了几个引号,但它不起作用。 将变量添加到包含的正确语法是什么?
答案 0 :(得分:49)
试试这个:
$("p:contains('" + vtxt + "')").addClass("on");
答案 1 :(得分:7)
老问题,但我必须留给后代留言。安德鲁的答案(被接受的答案)对我不起作用。 做了的工作是使用预先制作的字符串作为选择器。借用OP的例子:
var selector = "p:contains("+ vtxt +")";
$(selector).addClass("on");
答案 2 :(得分:3)
我用这个答案来解决类似的问题
我想阻止使用"
和'
使用$("p:contains('" + valor + "')").addClass("on");
时,有效。
但使用$('p:contains('" + valor + "')**'**).addClass("on")
时,不!