我可以通过javascript隐藏重复的HTML字符串吗?
我不知道如何做到这一点,但我需要隐藏一个重复(一页50次)的html字符串,使其不会显示在浏览器中 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
<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');