var div = document.getElementById('myId'); div.userProperty = 'test2'; alert(div.attributes.length); // IE6/7/8 -> 4 , [id,class,userAttribute,userProperty] // IE9/FF -> 3, [id,class,userAttribute] alert(div.userAttribute); // IE6/7/8 -> 'test1' // IE9/FF -> undefined alert(div.getAttribute('userAttribute')); // IE6/7/8/9/FF -> 'test1' alert(div.getAttribute('userProperty')); // IE6/7/8 -> ...
在javascript中使用是否有任何区别element.style.setAttribute('width', '150px');和element.style.width = '150px';? 我已经看到关键字不能用于第一种方式(如this),但对于非关键字属性是否存在差异?解决方法:两者都完全有效.你能举出一些不能用于第二种方式的例子吗?您是否知道属性名称需要首先获得?例如. element.style.marginTop而不是错误的element.style.margin-top.连字符是Javascript中的无效标识符.
所以我正在学习操纵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.不确定为...
如果在最开始的时候,更新 attribute value 的值,property 的值也会随之改变 但是更新 property value 的值(在文本框输入或给 input.value 赋新值 ),attribute 的值不会随之改变,而且此时再更新 attribute 的值,property 的值也不再随之改变 这其实是脏值标记(dirty value flag)在起作用,dirty value flag 的初始值为 false,即 attribute value 的更新默认会改变对应的 property value,但是一旦用户交互修改了 property...