jquery - 包含选择器内的变量

时间:2013-05-23 23:08:38

标签: jquery

我仍在学习jquery。在选择器中传递文本框的值时出现问题。

我有这段代码

jQuery('input#id_search').live('input', function() {
 varSearch = jQuery(this).val();
 jQuery("a:contains('String')").css("text-decoration", "underline");
});

如果我对a:containsString的值进行了硬编码,则上述代码可以正常工作。 但是,当我将String更改为变量时,它根本不起作用..

这是我的代码。

jQuery("a:contains(**varSearch**)").css("text-decoration", "underline");

2 个答案:

答案 0 :(得分:2)

如果它是变量,则需要在引号之外:

jQuery("a:contains(" + varSearch + ")").css("text-decoration", "underline");

答案 1 :(得分:1)

我会这样做:

jQuery(function($) {
    $(document).on('input', '#id_search', function() {
        var search = this.value;
        $('a').filter(function() {
            return $(this).text().indexOf(search) != -1;
        }).css("text-decoration", "underline");
    });
});

请注意,较旧的浏览器不支持input事件,并且live()已弃用,您应将上面的document替换为最近的非动态父级。< / p>