我对一些jQuery有点困惑,它正在检查查看一堆LI以查看是否应用了特定的类名 - 如果它们确实应用了指定的类名 - 那么它们会被忽略 - 没有该类名称的所有LI都与HTML分离。
我的代码是:
var thisid = $(this).attr('id');
$("ul.bxslider li").not('.'+thisid).detach();
只要bxslider中的LU只应用了一个类名,这就可以正常工作 - 例如类="测试" - 但是如果我向LI添加第二类名称,例如class ="测试鸡肉" - 然后这段代码无效。注意我将一个类名传递给thisid变量以使这个逻辑工作,所以使用一个具有class =&#34的LI;测试鸡"当thisid var传递给字符串" chicken"它不应该与班级="测试鸡和#34;但确实......我在这里错过了什么?
答案 0 :(得分:0)
$("ul.bxslider li").each(function(index)
{
var thisElement = $(this);
if (!thisElement.hasClass("test"))
{
thisElement.detach();
}
});
答案 1 :(得分:0)
您只需要一种方法从id
字符串生成正确的选择器,因此用.
替换任何空格:
var thisid = this.id;
$("ul.bxslider li").not('.' + thisid.replace(/ /g, '.')).detach();