簡體   English   中英

使用JavaScript隱藏H1元素

[英]Hide H1 Element using JavaScript

我想使用普通的javascript而不是jQuery來隱藏<h1>元素,而不是在標記中添加id="whatever"class="whatever" 這可能嗎?


為什么我不能只為標簽添加id =“whatever”?
我在xCode中使用UIButton,當點擊它時,它會將javascript注入UIWebView。 在UIWebView內部是一個H1元素,在我無法訪問的網站上添加<h1 id="whatever"> 我希望這是有道理的。

document.getElementsByTagName('h1')[0].style.display = 'none';

使用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.
});

您可以使用getElementsByTagName方法:

var h = context.getElementsByTagName('h1');
for (var i = h.length; i--; ) {
    h[i].style.display = 'none';
}

contextdocument或更具體的父節點的情況下,您要在其中搜索標題。

但是有更好的解決方案。 您可以將特定類添加到某個父節點並使用CSS隱藏子標頭:

.without-headers h1 {display: none;}

你可以使用getElementsByTagName

document.getElementsByTagName("h1")

但它將訪問所有h1元素,因此更具體地通過這樣的index訪問它

document.getElementsByTagName("h1")[0].style.display = "none";

只是dfsq代碼中的小變化

var h = document.getElementsByTagName('h1');

for (var i =0; i<h.length; i++) {
     document.getElementsByTagName('h1').item(i).style.display = 'none';
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM