1
的作品我有這樣定義的<textarea>
:在Internet Explorer中有麻煩的元素 - 在Chrome,火狐
<textarea class="form-control notetext" id="{{this._id}}-notetext" name="notetext">{{this.text}}</textarea>
我使用Ajax來發送數據和裝載的部分網頁。
然後我嘗試找到<textarea>
並將結果列出到控制檯。
問題是elements[0]
在Internet Explorer 11中返回undefined
(還沒有嘗試過任何其他版本),但在Chrome和Firefox中正常工作。我已經嘗試了3種變體,都給出了相同的結果。有解決方案嗎?
$.get('/page/' + Id + '/partial/', function(res) {
$('#sectional').html(res);
//variation 1
var elements = document.getElementsByClassName('notetext');
//variation 2
var elements = document.querySelectorAll('.notetext');
//variation 3
var elements = document.getElementsByTagName("textarea");
});
此外,請注意,id
是動態創建的,所以無法.getElementById
(這將只返回1個結果而不是數組的)。我在某個地方看到了一個有上使用正則表達式的方法,但它也返回null。
嘗試在一個'setTimeout()'回調中獲取元素,並使用一些類似於100的小超時。 –
所以'elements'是'[null]'? – borisdiakur
@MaratTanalin:好主意。我試過了,但即使在等待1000毫秒後仍然未定義。 – lynvie