7

タグを追加したり、タグ<h1>に追加したりせずに、jQueryではなくプレーンなjavascriptを使用して要素を非表示にしたい。これは可能ですか? タグに id="whatever" を追加できないのはなぜですか? クリックすると、JavaScriptがUIWebViewに挿入されるxCodeでUIButtonを使用しています。その UIWebView の内部には、追加するアクセス権がない Web サイトにある H1 要素がありますそれが理にかなっていることを願っています。id="whatever"class="whatever"



<h1 id="whatever">

4

5 に答える 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

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 に答える
1

getElementsByTagNameを使用できます

document.getElementsByTagName("h1")

ただし、すべてのh1要素にアクセスするため、より具体的には次のindexようにアクセスします

document.getElementsByTagName("h1")[0].style.display = "none";
于 2013-02-12T09:11:23.380 に答える