簡體   English   中英

如何通過Javascript訪問HTML DOM中的Elements字段?

[英]How to access the fields of Elements in HTML DOM by Javascript?

我是HTML DOM操作的新手。 即使簡單的例子,我也失敗了。

這是我的代碼:

<h1>head 1</h1>
<h2>head 2</h2>
<script type="text/javascript">
var h1 = document.getElementsByTagName('h1');
alert("tagName : "+h1.getTagName());
h1.parentNode.removeChild(h1);
</script>
<h3>head 3</h3>

上面的代碼甚至不會彈出任何“警報”。

我也嘗試過:

alert("nodeType: "+h1.nodeType);
alert("nodeName: "+h1.nodeName);
alert("nodeValue: "+h1.nodeValue);
alert("tagName: "+h1.tagName);

但是,它們都響應undefined

您忘記了參數周圍的引號:

var h1 = document.getElementsByTagName(h1);

應該:

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

您使用Firebug嗎? 如果沒有,你應該。 它會讓您知道您有此錯誤。

這個網站真的很有用。 http://www.w3schools.com/jsref/dom_obj_node.asp

一旦掌握了它,一定要使用jquery或其他一些庫來處理dom(使生活更輕松): http : //jquery.com/

<h1>head 1</h1>
<h2>head 2</h2>
<script type="text/javascript">
var h1 = document.getElementsByTagName('h1')[0];
alert("tagName : "+h1.localName);
h1.parentNode.removeChild(h1);
</script>
<h3>head 3</h3>

它應該是:

var h1 = document.getElementsByTagName('h1')[0];

說明:

每當您使用getElements ...(注意s)時,您實際上都會得到一個數組。 通過在var h1 = document.getElementsByTagName('h1')之后使用[0] ,實際上意味着獲得第一個TagName ='h1'的元素

您的其他選擇是在該數組上循環然后使用h1[i] (例如),或者在實際使用該數組時選擇該數組的適當成員,如下所示:

alert("tag name: ",h1[0]);

只是為了進行比較,使用getElementById時只得到一個元素,因此可以直接使用它。

暫無
暫無

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

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