我有一些与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