初级javascript:dom中setAttribute与html dom
- 格式:doc
- 大小:28.00 KB
- 文档页数:1
在标准的DOM中,如果要获取对象属性我们可以使用getAttribute;
eg:获取对象o的title的值,我们将他的值保存到bute中:
var o = document.getElementById(”o”);
var bute = o.getAttribute(”title”);
如果要对对象重新设置属性的话,在标准DOM中,使用setAttribute;
eg:现在对对象o重新设置title属性的值:
o.setAttribute(”title”,”abc”);
但是html dom的方法是对象后直接跟属性即可。
比如要获取和设置对象的属性title:
bute = o.title;
o.title = “abc”;
上面说了关于如何获取对象的属性值,其实在很多书籍中及网站上都有说到,在这里说的目的最后是想告诉大家的是:
IE在setAttribute()上存在很大的问题:有时候会存在为对象重新设置新属性后并不是预期你所想得到的,在现在需要兼容多浏览器的时候,如果你需要设置属性的话,建议使用html dom方法。
方法并非一种,也有其他的方法,只是觉得此方法更加简单一些,比如if(isIE)的方法也是可行的。
也就是为ie专门写一条语句。
ppk的书特别讲述了这个问题,二者是有本质区别的。
o.setAttribute(”name”, “value”);直接操作的是DOM节点的属性。
= “value”;直接操作的是JavaScript对象o的属性name。
DOM和JavaScript在浏览器中可以互通,不过不同的浏览器的细节不一样。
比如下面这个例子:
//
//选中一个复选框,并取消复选框的选中状态
var oCheckbox = document.getElementByI d(”myId”);
oCheckbox .setAttribute(”checked”, “”);//Firefox, Opera没有效果oCheckbox .checked = “”; //所有浏览器有效。