我仍在学习jquery。在选择器中传递文本框的值时出现问题。
我有这段代码
jQuery('input#id_search').live('input', function() {
varSearch = jQuery(this).val();
jQuery("a:contains('String')").css("text-decoration", "underline");
});
如果我对a:contains
中String
的值进行了硬编码,则上述代码可以正常工作。
但是,当我将String
更改为变量时,它根本不起作用..
这是我的代码。
jQuery("a:contains(**varSearch**)").css("text-decoration", "underline");
答案 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>