为什么链接不工作在IE8 / 9

Why does chaining not work in IE8 / 9

本文关键字:IE8 工作 链接 为什么      更新时间:2023-09-26

为什么这样做:

el = document.getElementById('STR');
if( el ){
    el.checked = true;
    el2 = el.cloneNode(false);
    el.parentNode.insertBefore(el2, el);
    el2.setAttribute('id','');
    el2.setAttribute('disabled','disabled');
    el2.removeAttribute('name');
    el.removeAttribute("disabled");
    el.style.display="none";
}

但这不是:

el = document.getElementById('STR');
if( el ){
    el.checked = true;
    el2 = el.cloneNode(false);
    el.parentNode.insertBefore(el2, el);
    el2.setAttribute('id','');
    el2.setAttribute('disabled','disabled').removeAttribute('name');
    el.removeAttribute("disabled");
    el.style.display="none";
}

在Firefox/Chrome中,最后一段代码可以完美地工作。

这在我所知道的任何浏览器中实际上都不起作用。DOM的"setAttribute()"函数在Firefox和Chrome(可能也包括IE)中返回undefined

如果你想的话,你可以在JavaScript中实现"链接"代码风格,但它需要某种框架来显式地实现它。DOM方法通常不是这样工作的。