使用 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 从其他下拉列表中显示/隐藏相同的选项

javascript JQUERY展示或隐藏

使用 javascript 或 angular js 隐藏侧边栏

捕获“在新选项卡中打开链接”的事件点击 javascript 或 jquery - 隐藏 URL