两者之间:

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/

10-13 09:37