jQuery伪选择器,变量作为选择器

时间:2011-04-27 15:41:40

标签: javascript jquery

我设置的变量等于经常引用的选择器:

var allSteps = $("#makeIntoSlideshowUL > li");

此外,我正在使用自定义搜索功能,使包含(我用于搜索)不区分大小写

jQuery.expr[':'].Contains = function(a,i,m){
    return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0;
};

不使用变量选择器,我可以这样做

$("#makeIntoSlideshowUL > li:Contains('" + $(this).val() + "')").css("display","block");

如何一起使用变量选择器和这个定义的psuedo选择器?我试过这个,但它不起作用

allSteps+":Contains('" + $(this).val() + "')".css("display","block");

3 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

$(allSteps.selector + ":Contains('" + $(this).val() + "')").show();

答案 1 :(得分:1)

您可以在自定义选择器中使用filter()

allSteps.filter(":Contains('" + $(this).val() + "')").css("display", "block");

答案 2 :(得分:0)

var expression = allSteps+":Contains('" + $(this).val() + "')".css("display","block");
alert($(expression).length);

我希望这就是你要找的东西。只需先将表达式计算到变量中 - 然后再使用它。

= H =