我是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');
你用火虫吗?如果不是,你应该。它会让您知道您有此错误。
这个网站真的很有用。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
时,你只会得到一个元素,因此你可以直接使用它。