我的名字是Ashish Kumar。在我的項目中,我使用了多個控件(文本框,標籤,複選框)和相同的ID。這在ie中運行正常,但不是Mozilla。例如。eval('document.all.txtname')在mozilla中不工作
function jsContentPageLoad() {
var obj = eval('document.all.txtName');
alert('txt Lenght: ' + obj.length);
alert('txt1: ' + obj[0].value);
alert('txt2: ' + obj[1].value);
}
<input type="text" id = "txtName" name = "txtName" value ="txt1"/>
<input type="text" id = "txtName" name = "txtName" value ="txt2"/>
而且我不希望使用「document.getElementbyName」或「document.getElementByClassName」,因爲這需要更多的時間比較的eval( 'document.all.txtName')和「document.getElementbyID」。
現在我不想做出任何大的改變來使兼容這個項目的mozilla,因爲這個項目是非常大的,並替換document.all很容易,但如果我會使id的獨特這將是對我來說有很大的改變因爲這個項目已經有10年了,這個項目大概有350頁。我已經使用document.all來創建對象的數組。沒有得到唯一的對象。 請幫幫我。 在此先感謝。
ID必須**唯一** – Andreas
當您使用Javascript時,速度很少成爲問題。我建議你只使用上面提到的方法之一,除非它真的有一個 - 顯而易見的! - 對績效的影響。當然,你需要讓你的ID唯一。這就是爲什麼他們是ID。 – Anpan
使用標準功能。 IE11不再支持「document.all」:http://msdn.microsoft.com/en-us/library/ie/ms537434%28v=vs.85%29.aspx –