我想<h1>
使用普通的 javascript 隐藏元素,而不是 jQuery,而不添加id="whatever"
或class="whatever"
标记。这可能吗?
为什么我不能将 id="whatever" 添加到标签中?
我在 xCode 中使用 UIButton,当单击它时,它将 javascript 注入 UIWebView。在那个 UIWebView 里面是一个 H1 元素,它位于我无权添加的网站上<h1 id="whatever">
。我希望这是有道理的。
问问题
9056 次
5 回答
7
document.getElementsByTagName('h1')[0].style.display = 'none';
于 2013-02-12T09:11:20.453 回答
4
用于getElementsByTagName
隐藏h1
页面上的第一个:
document.getElementsByTagName("h1")[0].style.display = "none";
// ^ index 0, so that's the first `h` that's found.
或者将它们全部隐藏:
var headers = document.getElementsByTagName("h1");
for (var i = 0, l = headers.length; i < l; i++; ) {
headers[i].style.display = "none";
}
或者更好的是,如果您可以修改 CSS:
h1{
display:none;
}
对于 JavaScript 解决方案,请记住它们仅在 DOM 加载后才能工作。
添加domready
事件侦听器,如下所示:
window.addEvent('domready', function() {
// modify your DOM here.
});
于 2013-02-12T09:11:49.403 回答
4
您可以使用getElementsByTagName
方法:
var h = context.getElementsByTagName('h1');
for (var i = h.length; i--; ) {
h[i].style.display = 'none';
}
您要在其中搜索标头的context
位置或更具体的父节点在哪里。document
但是有更好的解决方案。您可以将特定类添加到某些父节点并使用 CSS 隐藏子标题:
.without-headers h1 {display: none;}
于 2013-02-12T09:11:51.160 回答
1
你可以使用getElementsByTagName
document.getElementsByTagName("h1")
但它会访问所有h1
元素,所以更具体地说,index
像这样访问它
document.getElementsByTagName("h1")[0].style.display = "none";
于 2013-02-12T09:11:23.380 回答
1
dfsq 代码的小改动
var h = document.getElementsByTagName('h1');
for (var i =0; i<h.length; i++) {
document.getElementsByTagName('h1').item(i).style.display = 'none';
}
于 2013-02-12T09:22:30.810 回答