我有一些與jQuery選擇器有關的問題。ID /類選擇器
比方說,我想選擇$('#elementID')
,但elementID
是一個變量。
除var variable = elementID; $('#'+variable)
之外,還有其他可能嗎?我的意思是沒有在其他地方指定#
?
謝謝!
我有一些與jQuery選擇器有關的問題。ID /類選擇器
比方說,我想選擇$('#elementID')
,但elementID
是一個變量。
除var variable = elementID; $('#'+variable)
之外,還有其他可能嗎?我的意思是沒有在其他地方指定#
?
謝謝!
不是真的,沒有。你需要「#」作爲選擇器來選擇一個ID。沒有理由不使用ID selector。或者你可以寫自己的功能,是這樣的:
$.id = function(id)
{
return $("#" + id);
}
var elementID = "elementID";
$.id(elementID).text();
這將返回與「elementID」的ID元素,而無需使用「#」。有點毫無意義。
以下可能是最快的和乾淨的解決方案:
$(document.getElementById(elementID))
追加你的變量,以「#」會的工作,當然,但它的本質慢。
適用於使用標準DOM方法的情況。使用'getElementById',您不必擔心ID可能具有'.'(或':')字符,如果未轉義則會破壞選擇器字符串。 – bobince 2010-03-18 21:48:08
問題是我想刪除源的東西,而不是添加:)除此之外,我認爲jQuery使用標準選擇器可用。 – 2010-03-18 21:50:03
我不明白這有什麼不同。如果是這樣,我可能讀錯了你的問題。 – 2010-03-18 21:52:48
你不要說不清楚是什麼,但是:
var variable = '#' + elementID;
$(variable)...
與我之前寫的是一樣的東西... – 2010-03-18 21:51:35
如果elementID是ala var elementID = '#someId'
一個變量,我只想建議(雖然我沒有嘗試):
$(elementID)
的jQuery/JavaScript的應該取消引用該變量爲一個字符串值,正確的包裹ID進一步的操作...
我一直使用$('#'+ variable)。
我也使用這種格式。但它似乎不太...優雅:) – 2010-03-18 21:56:36
沒有意義,真的,但如果一個簡單的函數通過id獲取單個元素將會在覈心jQuery庫中,那將會很不錯。 +1 – 2010-03-18 21:58:07
我喜歡這個解決方案:) – 2010-03-18 22:12:51