2013-10-29 62 views
2

我有下面的代碼來選擇一個元素(將動態創建):什麼是JavaScript的.select()的替代方法?

document.all['ele' + count].select() 

上面的代碼在谷歌瀏覽器可以正常使用,但在Internet Explorer的所有版本中提供了一個錯誤:

SCRIPT16389:函數不正確。

.select()可以替代Google Chrome和IE嗎?

編輯:

我將有以下Textarea以上功能選擇

<textarea name="ele[5][t]" id="ele5"></textarea> 
+1

@Qantas,感謝您的編輯。 – NullPointer

+0

爲什麼你在使用'document.all'? – azz

+0

@DerFlatulator,對不起,它已經在那裏了。這就是爲什麼我問了一個替代方案。但是這裏的人們只是投了這個問題。 – NullPointer

回答

2

select()可能不是問題。這幾乎肯定是document.all的使用。

JavaScript解決方案:

document.getElementById("ele" + count).select(); 

jQuery的解決方案:

$('#ele' + count)[0].select(); 

兩者是等價的。

編輯

IE瀏覽器似乎有關於隱藏輸入(source)錯誤,請嘗試使用jQuery來繞過它:

$('#ele' + count).select(); 

或者:

$('#ele' + count).focus(); 
+0

我也嘗試過使用'document.getElementById()',但仍然得到相同的錯誤** SCRIPT16389:函數不正確** – NullPointer

+0

正如我所說,如果我使用jQuery的.select(),它會給我錯誤的函數錯誤 – NullPointer

+1

注意$('#ele'+ count)[0] .select();'和'$('#ele'+ count).select();'之間的區別。同樣在你的問題的編輯中,你應該使用'$('#t_newele'+ count)'而不是? – azz

0

你想一個jQuery的功能結合到一個常規的JavaScript對象?你試過這樣做嗎?

$("#ele"+count).select(); 

+0

這不就是觸發該元素的'select'事件嗎? –

+0

我得到錯誤'jquery-1.7.1.min.js,行3字符3385' – NullPointer

+0

@ Qantas94Heavy,你能提出一些解決方案嗎? – NullPointer

0

爲什麼不使用document.getElementById? document.all不再受支持,因爲您可以閱讀here

0

甚至document.querySelectordocument.querySelectorAll

0

這是你的元素

<textarea name="newele[5][t]" id="t_newele5"></textarea> 

要將其使用jQuery選擇,你可以使用

$('#t_newele5').action(...); // selects the element ussing it's "id" 

這裏actionpseudo命令denonstrate調用一個元件上的方法的過程。例如,撥打所選textareacss()方法,你可以這樣寫

$('#t_newele5').css('color', 'red'); 

記住要對自己jQuery代碼中ready事件處理程序,像

$(document).ready(function(){ 
    $('#t_newele5').css('color', 'red'); 
    // more code 
}); 

An Example Here.

使用香草JavaScript可以像

document.getElementById('t_newele5').style.color = 'green'; 

An Example Here.

相關問題