假设我有以下HTML:
<body>
<section role="main">
</section>
</body>
1)我可以这样做吗?
var section = document.getElementsByTagName("section");
2)我可以这样做吗?
var section = document.querySelector("section[role=main]");
3)最后,我怎样才能将孩子附加到这个元素上? appendChild()不起作用。
var p = document.createElement("p").innerText("A paragraph.");
section.appendChild(p);
答案 0 :(得分:0)
您可以使用1或2,
使用getElementsByTagName
-
看看小提琴 - http://jsfiddle.net/2jzho6hh/3/
这个返回标签名为section
的所有元素的数组,因此要访问第一个section
元素,必须在数组上使用0索引。对于第二个元素,在数组上使用1个索引,依此类推..
使用querySelector
,
检查小提琴 - http://jsfiddle.net/2jzho6hh/2/
querySelector返回与您指定的选择器匹配的第一个元素,如本例section[role=main]
,这意味着选择第一个{em>属性 角色的<{1}}元素及其< em> value 是 main
还有另外一种方法section
,您可以认为,这是上述两种方法的结合。它就像querySelectorAll
那样基于CSS选择器语法选择元素,并返回与选择器匹配的所有元素的数组,就像querySelector
答案 1 :(得分:-1)
正确的代码是
var p = document.createElement("p");
p.innerHTML="A paragraph";
section.appendChild(p);