2012-09-20 48 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 / –