var a = document.createElement('div');
a.id = "myDiv";
和
var a = document.createElement('div').id = "myDiv";
它们之间有什么区别,第一个有效,第二个无效?
答案 0 :(得分:9)
设置元素的id
不会返回元素。它实际返回"myDiv"
,因此var a
设置为"myDiv"
而不是div本身。
答案 1 :(得分:2)
第二个不起作用,因为createElement的“return”值用于设置id。由于这是一个赋值而不是链接,它不会将对新元素的引用返回“a”,从而失败。
答案 2 :(得分:0)
第二个不起作用,因为您正在创建一个元素,但立即对其执行操作。 a
变量设置为字符串“myDiv”。
答案 3 :(得分:0)
foo = 'bar'
作为语句实际返回一个值'bar'
。
a = document.createElement('div'); //this sets `a` to DOM Node
a = document.createElement('div').id = 'myDiv'; //this sets `a` to 'myDiv'
//it's the same as
document.createElement('div').id = 'myDiv';
a = 'myDiv';
如果您想在一行中同时设置ID和a
变量,可以使用parens:
(a = document.createElement('div')).id = 'myDiv';
那是因为a = document.createElement('div')
返回了新创建的DOM节点。
答案 4 :(得分:0)
如果你真的想要一个简短的方法,你可以写:
(window.a=document.createElement('div')).id="myDiv";
答案 5 :(得分:0)
在第一个语句中,将创建的“div”类型元素放入变量“a”,然后将“a”的元素属性“id”设置为“myDiv”。然后“a”现在是元素。
在第二个声明中:
然后,“a”现在是“myDiv”而不是元素。
答案 6 :(得分:0)
//使用此
a.setAttribute(" ID"" myDiv&#34);