两者之间:
Java脚本
function setCss(object, css) {
return (object.className = css);
}
function getCss(object, css) {
return object.className;
}
或者
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);
}
HTML
<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))" />
这两个版本似乎都适用于 IE8、FF4、Chrome、Opera 和 Safari。 (jsFiddle (improved) demo)
哪一种是最佳使用实践,为什么? 你有没有遇到过任何版本的问题?
最佳答案
getAttribute("class")
更通用,因为它可以用于不同类型的文档。在 XML 文档中,最重要的是。包括SVG。element.className
仅在HTML中有效。它在 DOM level 2 HTML specs 中有描述。
关于javascript - object.className 或 object.getAttribute ("className/class")?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6574946/