我可以通过javascript隐藏重复的HTML字符串吗?

我可以通过javascript隐藏重复的HTML字符串吗?,javascript,dom,hide,Javascript,Dom,Hide,我不知道如何做到这一点,但我需要隐藏一个重复(一页50次)的html字符串,使其不会显示在浏览器中 html中令人不快的一行类似于: <li><a href="actor" class="extLink">Empty</a></li> 我知道这将是一个黑客,但我不能改变这个列表内容的来源 是否有一些javascript代码我可以放在我的文档的头部,可以隐藏这个字符串 非常感谢,, Dar.像这样吗 window.onload = functi

我不知道如何做到这一点,但我需要隐藏一个重复(一页50次)的html字符串,使其不会显示在浏览器中

html中令人不快的一行类似于:

<li><a href="actor" class="extLink">Empty</a></li>
  • 我知道这将是一个黑客,但我不能改变这个列表内容的来源

    是否有一些javascript代码我可以放在我的文档的头部,可以隐藏这个字符串

    非常感谢,, Dar.

    像这样吗

    window.onload = function () {
        var n, hiddens = document.getElementsByClassName('extLink');
        for (n = 0; n < hiddens.length; n++) {
            if (hiddens[n].innerHTML === 'Empty')
                hiddens[n].style.display = 'none';
            }
            if (hiddens[n].href === 'actor') {
                hiddens[n].parentElement.style.display = 'none';
            }
        }
    }
    
    window.onload=函数(){
    var n,hiddens=document.getElementsByClassName('extLink');
    对于(n=0;n
    基于jQuery:

    $(function() {
        var i = 0;
        $('li').each(function() {
           if (i == 0) {continue;i++}
           $(this).remove();
           i++;
        });
    });
    
    我不知道你在找什么。 删除空标记:

    $(function() {
        var i = 0;
        $('li').each(function() {
           if (i == 0) {continue;i++}
           var $obj = $(this);
           if ($obj.find('a').text() == 'Empty') {
              $obj.remove();
           }
           i++;
        });
    });
    

    您可以通过设置隐藏它们,而无需编写任何脚本

    .extLink {
        display: none;
    }
    
    无论是否启用JavaScript,这都会起作用,这意味着在加载文档时,它们甚至不会在flash中显示

    如果特别是
    actor
    链接,您也可以将它们作为目标-或者如果两者都是,您可以让规则涵盖两者。如果您的要求更具体,请告诉我

    a[href=actor] {
        display: none;
    }
    
    如果您想根据内容隐藏它们,则需要使用JavaScript

    var clearEmptyActorLinks = function () {
        var externalLinks = document.getElementsByClassName('extLink');
        for (var i = 0; i < externalLinks.length; i++) {
            if (externalLinks[i].innerHTML === 'Empty') {
                externalLinks[i].parentNode.style.display = 'none';
            }
        }
    };
    window.onload = clearEmptyActorLinks;
    
    var clearEmptyActorLinks=函数(){
    var externalLinks=document.getElementsByClassName('extLink');
    for(var i=0;i

    示例:

    您可以使用:contains根据元素的内容获取元素

    HTML:

    <li><a href="actor" class="extLink">Empty</a></li>
    


    示例:

    我不确定我是否理解,但如果您只是想隐藏它,使其不被浏览器显示,那么使用CSS如何?只需将其设置为
    display:none
    。这些链接是否始终具有文本
    。还有,是否有其他具有相同类名的链接需要保留?关于
    li
    ,我们应该把它也隐藏起来吗?OP没有提到jquery…也没有提到jquery是被禁止的。如果他能使用它,他会把它标记为jquery,还有text()='Empty'@Huangism&OP谢谢你们的输入。我把它分类在上面。我只是第一次没有完全解释清楚。我只能选择一种方法并尝试它。。。它成功了。所以我很高兴。是的,互联网!我想他只是想把“空”藏起来ones@Huangism您可能是对的,让我们等待OP的响应,如果需要,我会修复代码。如果有必要,我们也可以隐藏这些链接的
    li
    s。天哪。感谢所有的快速回复。唯一复杂的因素是,有时在我的页面上,这些列表项中的内容应该保留并显示在浏览器中。如果需要,我可以使用query。我想他只想隐藏空的onesAh-这需要添加一些JavaScript-示例。是的,不幸的是,我只想隐藏空的onesAh,无论如何,谢谢Steve。我添加了一个删除这些内容的示例,并添加了一个指向JS脚本的链接。@SteveFenton对不起Steve,我刚刚看到了你的JSFIDLE帖子。我被另一张海报卡住了。我用jquery修复了它(因为页面上已经有了)。不过我真的很感谢你抽出时间。谢谢如果一个叫Emptyton的人出现了,你可以使用每种方法。@d.danailov我应该在哪里添加这一行?(我已经在文档顶部运行了jquery)。谢谢。看上面的答案,他有一个js解决方案$(document).ready(函数(){//Handler for.ready(),调用了.});更多信息:
    $('a:contains("Empty")').css('display', 'none');