我正在写一个简单的Greasemonkey脚本来删除网页上的所有图像,标题和段落(这是因为有人想要使用几个热门网站的图像,在关于网站品牌的演示文稿中删除图像和文字)。通过使用for循环和document.images数组,我已经想出如何使用图像这样做:
var i = 0;
var imglngth = document.images.length;
for(i=0;i<imglngth;i++)
{
document.images[i].style.display="none";
}
但是,我不相信有一个对象代表段落或标题。关于如何实现这个的任何建议?
答案 0 :(得分:3)
如果标头位于<h1>
- <h6>
标签中,您可以使用DOM API中的getElementsByTagName方法,以及一个循环来获取从<h1>
到{<h6>
的所有内容{1}}。
for( i = 1; i<= 6; i++ ) {
var tag = 'h' + i;
var heads = document.getElementsByTagName( tag );
for ( j = 0; j < heads.length; j++ ) {
heads[j].style.display = 'none';
}
}
如果文档没有使用标题标记,您可能需要对其样式表进行逆向工程并使用更多逻辑做一些事情。
当然,手动遍历DOM API可能会很痛苦。如果你可以使用像jQuery这样的东西,那就容易多了:
$( ':header' ).each( function() { ... } );
答案 1 :(得分:1)