使用 javascript 或 jQuery 隐藏所有带有与数字“0”或自定义值匹配的文本或 innerHTML 的“a”元素
Posted
技术标签:
【中文标题】使用 javascript 或 jQuery 隐藏所有带有与数字“0”或自定义值匹配的文本或 innerHTML 的“a”元素【英文标题】:Hide all 'a' elements with text or innerHTML that matches the number '0' or a custom value using javascript or jQuery 【发布时间】:2012-06-10 23:50:28 【问题描述】:我需要使用 javascript 或 jQuery 隐藏所有带有文本或 innerhtml
的 <a>
元素,这些元素与数字 'foo' 或自定义值匹配。
<li><a href="#" class="dir">foo</a></li>
我试过了
jQuery(document).ready(function()
if (jquery().text().html("foo")
('li >a').fadeOut()
);
【问题讨论】:
提醒:meta.stackexchange.com/a/5235/167210 【参考方案1】:$('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();
【讨论】:
【参考方案2】:一种方法,假设您要搜索的文本正是您使用的字符串,无耻地窃取致敬 @987654321 @:
创建: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()
的堆栈溢出问题:Is there any selector to do a perfect match against text?
【讨论】:
你的:exactly
扩展总是返回true
;可能想解决这个问题。以上是关于使用 javascript 或 jQuery 隐藏所有带有与数字“0”或自定义值匹配的文本或 innerHTML 的“a”元素的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 javascript 或 JQuery 从不可见的 iframe 中获取隐藏字段值
如何在不使用 JavaScript 或 jQuery 的情况下将 div 的文本绑定到隐藏字段?
如何使用 jQuery 或 Javascript 从其他下拉列表中显示/隐藏相同的选项