2013-10-16 52 views
-1

需要使用javascript獲得一個asp.net標籤文本,下面的JavaScript適用於IE和Chrome,但不適用於Firefox,如何使它適用於所有瀏覽器。document.getelementById()。innerText不在Firefox上

function showThumbnails_OnClick() { 

     var id = document.getElementById('lblId').innerText; 

     if (ChkBox.checked) { 
      location.href = 'Result.aspx?Id=' + id; 
     } 

    } 

<asp:Label ID="lblId" runat="server" Text=""> 
+0

看到http://stackoverflow.com/questions/1359469/innertext-works-in-ie-but-not-in-firefox –

回答

1

你將不得不編寫處理這兩種情況的功能:

function showThumbnails_OnClick() { 
    var element = document.getElementById('lblId'); 
    var id = element.innerText || element.textContent; 

    if (ChkBox.checked) { 
     location.href = 'Result.aspx?Id=' + id; 
    } 

} 
+0

textContent不等於innerHTML(例如換行符)請參閱http://clubajax.org/plain-text-vs-innertext-vs-textcontent/ –

+1

@JimW是的,它不是。從來沒有說過。它只返回沒有任何html的文本。也許這正是我們需要的 – Ibu

+0

@JimW這個解決方案解決了OP的問題。僅僅因爲textContent和innerHTML不等價並不意味着你降低了解決問題的答案。 – Rohit

2

變化.innerText.textContent

+0

的textContent不等同於innerHTML的(例如換行)看到clubajax.org/ plain-text-vs-innertext-vs-textcontent –

+2

這不是,它確實解決了OP所具有的問題。 – Rohit

1

,以確保它會在IE和FF工作。

var c_id = document.getElementById("lblId"); 
var id = (c_id.textContent == undefined) ? c_id.innerText : c_id.textContent; 
相關問題