所以我正在学习操纵DOM,我注意到一件有趣的事情:
假设我想使用“.”设置元素的name属性.点符号:
element.name = "someName";
console.log(document.getElementsByName("someName")[0]); // returns "undefined"??
但是,如果我使用document.setAttribute()方法,它可以正常工作:
element.setAttribute("name", "someName");
console.log(document.getElementsByName("someName")[0]); // returns the element like it should.
不确定为什么点符号方法在第一种情况下不起作用.
为什么会这样?
解决方法:
我的猜测(因为你没有指定元素类型)是元素通常没有name属性,所以设置这样的DOM属性是行不通的.
例如,在input元素上设置name属性将起作用.在div上设置它不会.
但是,它可以使用setAttribute().