Javascript document.setAttribute似乎不起作用
我编写了一个简单的javascript函数,创建了一个DOM对象(在本例中是一个标记),然后在html页面中调用它,但它似乎不起作用。有什么想法吗Javascript document.setAttribute似乎不起作用,javascript,Javascript,我编写了一个简单的javascript函数,创建了一个DOM对象(在本例中是一个标记),然后在html页面中调用它,但它似乎不起作用。有什么想法吗 function create_link() { var link = document.createElement("a"); link.setAttribute('href', 'the_link.html'); link.setAttribute('name', 'click on link'); documen
function create_link() {
var link = document.createElement("a");
link.setAttribute('href', 'the_link.html');
link.setAttribute('name', 'click on link');
document.childNodes[0].childNodes[1].appendChild(link);
}
文档.childNodes[0].childNodes[1]
可能存在此问题。建议您改用document.getElementById(id)
,特别是因为这更能抵抗以后可能对HTML结构进行的更改
通常,避免使用
childNodes
导航到DOM的特定部分。createElement和setAttribute调用正常,是否确定定义了document.childNodes[0]。childNodes[1]
要进行测试,可以执行以下操作:
document.body.appendChild(link)代码>,应该可以工作。通过遍历,您想要完成什么?您可以通过document.body
访问body
标记。好的,我没有。我可以直接访问body。我刚试过,document.body也不起作用。您还可以通过document.documentElement
访问文档本身,通过document.head
访问head
标记。看看迈克·刘易斯的答案。这是您正在寻找的。使用childNodes
作为文本节点(包括空格)、doctype节点等进行遍历是不可靠的,可能会导致您的方法中断。