Reputation: 11593
I have an "uncaught exception: Syntax error, unrecognized expression: )" in a jQuery application.
The code is:
<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");
});
});
The problem is when I add the variable vtxt to a contains: $("p:contains("+ vtxt +")").addClass("on");
I've tried several quotes but it just does not work. What is the right syntax for adding a variable to a contains?
Upvotes: 30
Views: 46022
Reputation: 854
Old question, but I must leave a note for future generations. Andrew's answer (the accepted one) didn't work for me. What did work was using a pre-made string as selector. Borrowing OP's examples:
var selector = "p:contains("+ vtxt +")";
$(selector).addClass("on");
Upvotes: 9
Reputation: 93
I have used this answer in order to solve a similar problem.
I want to prevent the use of "
and '
When using $("p:contains('" + valor + "')").addClass("on");
, it works.
But when using $('p:contains('" + valor + "')**'**).addClass("on")
, it does not!
Upvotes: 3