jQuery contains() with a variable syntax

Viewed 43703

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?

3 Answers

Try this:

$("p:contains('" + vtxt + "')").addClass("on");

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!

Related