jQuery содержит () с переменным синтаксисом

17

У меня есть «неперехваченное исключение: ошибка синтаксиса, нераспознанное выражение:)» в приложении 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 в a содержит: $ ("p: содержит (" + vtxt + ")"). addClass ("on");

Я пробовал несколько кавычек, но он просто не работает. Какой правильный синтаксис для добавления переменной в a содержит?

    
задан Mircea 03.02.2010 в 12:12
источник

3 ответа

38

Попробуйте следующее:

$("p:contains('" + vtxt + "')").addClass("on");
    
ответ дан Andrew Hare 03.02.2010 в 12:16
источник
4

Старый вопрос, но я должен оставить записку для будущих поколений. Ответ Эндрю (принятый) не помог мне. В работе did использовалась готовая строка в качестве селектора. Заимствование примеров OP:

var selector = "p:contains("+ vtxt +")";
$(selector).addClass("on");
    
ответ дан Nelo Mitranim 11.12.2013 в 07:12
источник
1

Я использовал этот ответ, чтобы решить подобную проблему.
Я хочу предотвратить использование " и '

При использовании $("p:contains('" + valor + "')").addClass("on"); он работает .

Но при использовании $('p:contains('" + valor + "')**'**).addClass("on") он не !

    
ответ дан combuilder 01.02.2011 в 16:29
источник