我想在多个跨度中搜索一个字母,例如a,如果存在于跨度中,我想显示这个跨度并隐藏其他。
<span id="1">janatan</span>
<span id="2">john</span>
<span id="3">jarry</span>
<span id="4">marry</span>
<span id="5">dfdgdf</span>
<span id="6">ghjkgk</span>
$('span').each(function(){
if (this.innerHTML.indexOf('a') > -1)
// or using toLowerCase() if needed
if (this.innerHTML.toLowerCase().indexOf('a') > -1)
$(this).show();
else
$(this).hide();
});
或与:
$('span').hide().filter(':contains(a)').show();
我会给你砖块:
$('span')
将检索每一个span
(如 CSS 选择器).each(function(){ ... $(this).text() ... })
将迭代每个元素并将函数应用于this
..text()
将为您提供元素内的文本.show()
并.hide()
显示或隐藏元素.siblings('span')
选择同一父母的每个孩子,但这个孩子。玩得开心 :)
您可以使用 :contains 根据其内容获取元素。
<div>This is a test</div>
<div>Div</div>
<div>a</div>
$('div:contains("a")').css('display', 'block');
尝试这个:
$('span').each(function(){
if(/a/ig.test($(this).text())){
$(this).show();
}else{
$(this).hide();
}
});
或者
$('span').hide().filter(function(){
return /a/ig.test($(this).text());
}).show();
if (this.innerHTML.indexOf('A') > -1)