Kra*_*raz 7 javascript classname
两者之间:
function setCss(object, css) {
return (object.className = css);
}
function getCss(object, css) {
return object.className;
}
Run Code Online (Sandbox Code Playgroud)
function getCss2(object)
{
if (object.getAttribute("className")) {
return object.getAttribute("className");
}
return object.getAttribute("class");
}
function setCss2(object, cssclass)
{
if (object.getAttribute("className")) {
return object.setAttribute("className",cssclass);
}
object.setAttribute("class",cssclass);
}
Run Code Online (Sandbox Code Playgroud)
<a href="#" onClick="setCss(this, 'newclass')" />
<a href="#" class="something" onClick="alert(getCss(this))" />
<a href="#" onClick="setCss2(this, 'newclass')" />
<a href="#" class="something" onClick="alert(getCss2(this))" />
Run Code Online (Sandbox Code Playgroud)
这两个版本似乎都适用于IE8,FF4,Chrome,Opera和Safari.(jsFiddle(改进)演示)
哪一个是最佳使用方法,为什么?你有没遇到任何一个版本的问题?
object.getAttribute("className"); 实际上不起作用.
区别在于getAttribute获取HTML属性的值,因为它是在HTML代码中编写的(有一些例外).
这些值大多也是DOM元素属性的初始值.但是由于预处理/后处理,访问它们会产生不同的值.
例如,如果您有一个<a>元素,则为您el.href提供完整的(绝对)URL,同时el.getAttribute('href')为您提供在HTML中编写的URL.
大多数情况下,您希望访问DOM元素的属性,因为它们反映了元素的当前状态.
getAttribute("class")更通用,因为它可以用于不同类型的文档.在XML文档中,最重要的是.包括SVG.
element.className仅适用于HTML.它在DOM级别2 HTML规范中进行了描述.
| 归档时间: |
|
| 查看次数: |
15965 次 |
| 最近记录: |