Jquery .find()基于两个属性的逻辑OR
我正在使用Jquery .find()基于两个属性的逻辑OR,jquery,Jquery,我正在使用name和lastname作为div <div class="user" name="Sheldon" lastname="Cooper">...</div> 我两个都做得怎么样?我如何过滤那些在两个属性中都不包含过滤值的属性呢?类似的东西可能不适用于这两个属性 ContactsList.find(“.user:not([name*=”+filter+”]):not([lastname*=“+filter+”))”)。parent().hide() 或者你可以
name
和lastname
作为div
<div class="user" name="Sheldon" lastname="Cooper">...</div>
我两个都做得怎么样?我如何过滤那些在两个属性中都不包含过滤值的属性呢?类似的东西可能不适用于这两个属性
ContactsList.find(“.user:not([name*=”+filter+”]):not([lastname*=“+filter+”))”)。parent().hide()代码>
或者你可以这样做
ContactsList.find(“.user[name*=”+filter+”],.user[lastname*=“+filter+”]))”.parent().hide()代码>
还请注意,which is选择那些包含字符串的字符串,类似这样的内容可能不适用于两者
ContactsList.find(“.user:not([name*=”+filter+”]):not([lastname*=“+filter+”))”)。parent().hide()代码>
或者你可以这样做
ContactsList.find(“.user[name*=”+filter+”],.user[lastname*=“+filter+”]))”.parent().hide()代码>
还请注意,which is选择那些包含字符串的字符串
,如果我理解这个问题,您可以尝试以下方法:
你把一切都藏起来了
ContactsList.find('.user').parent().hide();
您将显示筛选结果:
ContactsList.find('.user[name="'+ filter + '"], .user[lastname="'+ filter + '"]').parent().slideDown();
如果我了解问题所在,您可以尝试以下方法:
你把一切都藏起来了
ContactsList.find('.user').parent().hide();
您将显示筛选结果:
ContactsList.find('.user[name="'+ filter + '"], .user[lastname="'+ filter + '"]').parent().slideDown();
您必须创建了一个自定义的:
表达式,因为jQuery核心不会使用代码的显示方式attribute:Contains()
过滤属性
还应该使用data-
属性,并利用jQuerydata()
方法读取它们
我建议使用过滤器(函数)
。它比选择器提供了更大的灵活性
HTML
您必须创建了一个自定义的:
表达式,因为jQuery核心不会使用代码的显示方式attribute:Contains()
过滤属性
还应该使用data-
属性,并利用jQuerydata()
方法读取它们
我建议使用过滤器(函数)
。它比选择器提供了更大的灵活性
HTML
我想知道选择器是否可以连接:('.user[name=“”+filter+”][lastname=“”+filter+”])
-请不要在后留下空格。user
因为选择器将查找子项,而不是。user
本身我想知道选择器是否可以连接:('.user[name=“”+filter+”][lastname]=““+filter+”“]”)
-不要在之后留下空格。user
因为选择器将查找子项,而不是。user
本身有一种方法使其不区分大小写?有一种方法使其不区分大小写?
$('.user[name]').filter(function(){
var term = filter.toLowerCase(),
data = $(this).data()
name = data.name.toLowerCase(),
lastName = $data.lastname.toLowerCase()
return name.indexOf(term)>-1 || lastName.indexOf(term)>-1
})
ContactsList.find(".user")
.parent().hide() // hide all parents of .user elements
.end() // revert collection back to .user elements
.filter("[name*=" + filter + "], [lastname*=" + filter + "]") // filter the collection based on attribute values
.parent().slideDown(); // show the filtered elements