0

在这段代码中,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);

有谁知道为什么会这样,以及是否有一个糟糕的浏览器解决方法?我一直无法找到解决方法。

4

1 回答 1

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成为纯文本,而不是链接,因此您必须分配该属性。

于 2011-09-11T10:59:22.227 回答