我不知道该怎么做,但我需要隐藏一个重复(一页 50 次)的 html 字符串,以免在浏览器中显示。
html的违规行是这样的:
<li><a href="actor" class="extLink">Empty</a></li>
我知道这将是一个 hack,但我无法更改此列表内容的来源。
是否有一些javascript代码可以放在我的文档头部来隐藏这个字符串?
非常感谢,达尔。
我不知道该怎么做,但我需要隐藏一个重复(一页 50 次)的 html 字符串,以免在浏览器中显示。
html的违规行是这样的:
<li><a href="actor" class="extLink">Empty</a></li>
我知道这将是一个 hack,但我无法更改此列表内容的来源。
是否有一些javascript代码可以放在我的文档头部来隐藏这个字符串?
非常感谢,达尔。
您可以使用 :contains 根据其内容获取元素。
HTML:
<li><a href="actor" class="extLink">Empty</a></li>
jQuery :
$('a:contains("Empty")').css('display', 'none');
示例:http: //jsfiddle.net/9z5du/285
您可以通过设置隐藏它们而无需任何脚本;
.extLink {
display: none;
}
无论是否启用 JavaScript,这都将起作用,这意味着它们在文档加载时即使是一闪也不会显示。
如果它特别是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;
示例:http: //jsfiddle.net/ZnK59/
像这样?
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';
}
}
}
基于 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++;
});
});