我需要使用 javascript 或 jQuery 隐藏所有<a>
带有文本或innerHTML
匹配数字“foo”或自定义值的元素。
<li><a href="#" class="dir">foo</a></li>
我努力了
jQuery(document).ready(function() {
if (jquery().text().html("foo"){
('li >a').fadeOut()
}
});
我需要使用 javascript 或 jQuery 隐藏所有<a>
带有文本或innerHTML
匹配数字“foo”或自定义值的元素。
<li><a href="#" class="dir">foo</a></li>
我努力了
jQuery(document).ready(function() {
if (jquery().text().html("foo"){
('li >a').fadeOut()
}
});
$('a:contains(foo)').hide();
完毕。
或者:
var customValue = "foo"
$('a').filter(function(){
return this.innerHTML === customValue;
}).fadeOut();
使用后一个选项,您可以自定义更多,例如:
var customValue = "foo"
$('a').filter(function(){
return this.innerHTML === customValue &&
$(this).closest('div').length;
}).fadeOut();
一种方法,假设您正在搜索的文本正是您使用的字符串,无耻地从向 Jonathan Sampson致敬中 窃取:
创建:exactly
选择器:
$.extend($.expr[":"], {
exactly: function( element, index, details, collection ){
return $(element).text() === details[3];
}
});
像这样使用:
$('a:exactly("foo")').fadeOut();
参考:
:exactly()
选择器的博客条目:http: //sampsonblog.com/279/creating-your-own-custom-jquery-filters:exactly()
:是否有任何选择器可以完美匹配文本?