2013-11-23 78 views
0

這段代碼有什麼問題?JavaScript:AreaText每行分割錯誤

var lines = document.getElementById('id="summoners"').val().split('\n'); 

//I get error above "Cannot call method val of null 

for(var i = 0;i < lines.length;i++) 
{ 
    //other code using lines[i] not necessary to show it 
} 

回答

1

document.getElementById('summoners')是你要訪問的元素,這就是爲什麼你得到空引用異常的語法。

.val()是一個類似於jQuery的方法,並且會在原始HTML元素上失敗。您需要使用類似​​的東西,假設它是textarea元素,或者使用jQuery並執行$('#summoners').val()

+0

哦,我明白了!而已!它現在有效! :) 謝謝! –

+0

lshearer是正確的,指出.val()是一個jQuery方法(也可以在任何其他框架中使用)。你的錯誤是由於你在一個空對象上調用了一個方法(任何方法),但即使你的getElementById正確地返回了你的元素,.val()方法在這個實例中可能不起作用。 – beejay

+0

謝謝你們! :) –

0

您的getElementById格式錯誤。您不需要在method參數中指定「id」鍵。去:

document.getElementById('summoners').val().split('\n'); 
+0

我想我需要休息一下! :) 謝謝,但現在它說 「對象#沒有方法val」。 :O –