0

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

我有这个代码

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

如果我硬编码a:containsa的值,上面的代码可以正常工作String。但是当我将其更改String为变量时,它根本不起作用..

这是我的代码。

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

2 回答 2

2

如果它是一个变量,它需要在你的报价之外:

jQuery("a:contains(" + varSearch + ")").css("text-decoration", "underline");
于 2013-05-23T23:10:20.807 回答
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上面的替换为最接近的非动态父级。

于 2013-05-23T23:15:33.823 回答