2012-09-20 54 views
1

我使用JavaScript创建了更多链接。它在Firefox和Crome中运行良好。 但是在IE中不起作用。使用JavaScript创建的链接在IE中不起作用

下面是我写的相同的代码。

var underLine = document.createElement('u'); 
underLine.innerHTML = 'more'; 
var newlink = document.createElement('a'); 
newlink.setAttribute('class', 'a'); 
newlink.setAttribute('id', 'morelink'+count); 
newlink.setAttribute('onmouseover', 'somejavascript'); 
newlink.appendChild(underLine); 
someDiv.appendChild(newlink); 

任何人都可以帮我解决这个问题如何解决IE问题?

Thanx提前。

+1

取出的setAttribute报表,检查如果你想添加的元素实际上添加到DOM。使用http://www.ieinspector.com/dominspector/或类似的东西。 – Osiris

+0

另外,请尝试添加'href'属性。只要将它设置为'#'就足够了。 –

+0

元素在DOM中。我也可以在我的用户界面上看到相同的内容。 –

回答

0

您没有设置为<a>元素的内容,像这样做:

newlink.innerHTML = 'click me'; 
+0

'newlink.appendChild(under-line);' – timidboy

0

那么它似乎是一个简单的(丑陋的)解决:

替换:

underLine.innerHTML = 'more'; 

有了:

if(document.all) 
    underLine.innerText = 'more'; 
else 
    underLine.textContent = 'more'; 

或者:

if(underLine.innerText) 
    underLine.innerText = 'more'; 
else 
    underLine.textContent = 'more'; 
+0

你能解释一下这两者之间的区别吗? –

+1

正如你所看到的两个都被标记为剥离.. if语句是为MSIE工作,但由于IE9你可以改变它的第二个选项,你可以阅读:http://clubajax.org/plain-text-vs-innertext-vs -textcontent / –