2011-10-28 36 views
0

我有一個分配id的interating函數。即像getElementById與jQuery?

$('#mycooldiv' + idNumber).text();

我不知道我怎麼可以藉此 - '#mycooldiv' + idNumber和內

var div = document.getElementById('#mycooldiv' + idNumber);使用它 - 因爲後面不起作用?

我也曾嘗試

var elem = $('#mycooldiv' + idNumber); 
var div = document.getElementById(elem); 

和失敗呢?

+0

如果你使用的是jQuery,那麼使用document.getElementById的目的是什麼。 'var elem = $('#mycooldiv'+ idNumber);''和'var div = document.getElementById('mycooldiv'+ idNumber);'都是一樣的 –

+0

不 - 他們不是。因爲一些跨瀏覽器的代碼更好地放置不使用jQuery。爲什麼你總是回到jQuery解決方案?有時候jQuery解決方案並不總是最好的 - 因此問題的原因。 – Andy

+0

我的意思是如果你使用jQuery,不要嘗試使用兩者。我已經在前面的評論 –

回答

5

document.getElementById只需要id,#是不需要的。

var div = document.getElementById('mycooldiv' + idNumber);

+0

中提到了這兩種方法來完成這項任務,請告訴我,情況並非如此。好吧,我感到震驚*尷尬* :) – Andy

+0

這是_is_案件,對不起。 jQuery選擇器基於CSS選擇器,因此'#'前綴表示id,'.'前綴表示類,並且沒有前綴表示元素標記名稱(僅舉三個最簡單的選項)。 – nnnnnn

1
var elem = $('#mycooldiv' + idNumber); 
var div = elem[0]; 

但當然這不是直接調用getElementById效率較低,並失去jQuery選擇的優點是,當元素不存在任何錯誤。

0

你真的很接近解決方案。 jQuery中符號$()向你的元素,所以你的情況這會工作:

var div = $('#mycooldiv'+idNumber); 

這是你想要的元素。

編輯:如果你堅持使用的document.getElementById你應該寫:

var div = document.getElementById('mycoodiv'+idNumber); 

的#-notation只使用jQuery使用,並表示在CSS語法至極jQuery使用一個ID(和遠比document.getElementById更強大和多功能)。

+0

嗨 - 謝謝你的迴應,但那不是我要找的。 – Andy

+0

看到我的編輯。 ;) – Atheist