jQuery contains() with a variable syntax
Solution 1
Try this:
$("p:contains('" + vtxt + "')").addClass("on");
Solution 2
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");
Solution 3
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!
Mircea
I design with HTML, CSS, JavaScript, Standards and Performance in Mind, taking pride in my work. You can see my rants on new web technologies at https://twitter.com/mirceadesign
Updated on May 14, 2021Comments
-
Mircea about 3 years
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?