为什么链接在IE8 / 9中不起作用

时间:2011-10-21 13:48:05

标签: javascript html internet-explorer dom chaining

为什么这样做:

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中,最后一个代码段完美无缺。

1 个答案:

答案 0 :(得分:2)

这实际上并不适用于我所知道的任何浏览器。 DOM“setAttribute()”函数在Firefox和Chrome中返回undefined(也可能是IE)。

如果您愿意,可以在JavaScript中执行“链接”代码样式,但它需要某种框架才能显式实现它。 DOM方法通常不会那样工作。