document.createElement在IE8中不起作用

时间:2011-09-11 10:52:51

标签: javascript internet-explorer-8 createelement

在此代码段中,document.createElement('a')标记在IE8中不起作用。它在chrome和firefox中运行良好。当我通过IE进行检查时,似乎它的第一行代码已被破坏。

        item = document.createElement('a');
        item.setAttribute('id', 'memorize');
        item.innerHTML = "<?php echo wzfactory::get_xml('menu_item', 4, $com); ?>";
        item.setAttribute('class', 'menu_button');
        item.onclick = function() {redirect('memorizor', 'memorize', 0);};
        menu_div.appendChild(item);

有没有人知道为什么会这样,如果有一个糟糕的浏览器解决方法?我一直无法找到解决方法。

1 个答案:

答案 0 :(得分:2)

可能会破坏功能的一些事情......试试这个:

item = document.createElement('a');
item.id = 'memorize';
item.href = "#";
item.innerHTML = "<?php echo wzfactory::get_xml('menu_item', 4, $com); ?>";
item.className 'menu_button';
item.onclick = function() {
    redirect('memorizor', 'memorize', 0);
    return false;
};
menu_div.appendChild(item);

首先,直接分配id而不是setAttribute分配,其次,没有href的锚只是文字,而不是链接,所以你必须分配该属性。