我有一个li
代码列表。我想检查是否有任何包含特定文本的li
代码。如果需要添加名为disabled
的类到包含该特定文本的相应li
标记。有人可以帮助我
<ul class="default">
<li>Text 1</li>
<li>Text 2</li>
<li>Text 3</li>
<li>Text 4</li>
<li>Text 5</li>
</ul>
答案 0 :(得分:1)
答案 1 :(得分:0)
答案 2 :(得分:0)
我为此制作了一个原型,在包含jQuery之后复制它:
//@Author Karl-André Gagnon
if(!$.fn.filterText) $.fn.filterText = function(text, caseSensitive){
var returnedObj = $(),
caseSensitive = caseSensitive || false,
$this = $(this);
if(typeof text == 'object'){
for(var i = 0; i < text.length; i++){
if(typeof text[i] == 'string'){
console.log(i);
returnedObj = returnedObj.add($this.filter(function(){
var search = caseSensitive ? text[i] : new RegExp(text[i], 'i')
return $(this).text().search(search) != -1;
}))
}
}
}else if(typeof text == 'string'){
returnedObj = returnedObj.add($this.filter(function(){
var search = caseSensitive ? text : new RegExp(text, 'i')
return $(this).text().search(search) != -1;
}))
}
return returnedObj;
}
然后你可以这样称呼它:
$('li').filterText(['text 1', 'text 2']).addClass('disable');
//Or
$('li').filterText('text 3').addClass('disable');
如果您想要区分大小写,也可以添加第二个aguemnt。
$('li').filterText('Text 3', true).addClass('disable');