繁体   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