带有变量的 jQuery 选择器
Posted
技术标签:
【中文标题】带有变量的 jQuery 选择器【英文标题】:jQuery selectors with variables 【发布时间】:2011-06-21 01:48:51 【问题描述】:如何混合变量和选择器?
我有 ID 变量。
我想从 div #one 中选择具有此 ID 的图像。
jQuery('#one img .id')
是选择器。我试过$('#one img .'+id)
,但没有用。
【问题讨论】:
您能否提供更多代码并解释究竟是什么不起作用? 【参考方案1】:编辑:根据您在下面的评论,您将使用这个:
$('#one img.'+id)
在你的问题中,img
和 .class
之间有一个空格,我只是删除了它,所以你得到 img.className
或 img.'+className
随着ECMAScript 2015中template literals的引入,你也可以这样做
$(`#one img.$id`)
【讨论】:
对不起,让你们混淆了 ID 是包含 DOM CLASS 的 jQuery 变量。 需要注意的是 id 必须是非数字的,如果 id 是数字的话,toString() 也是如此。【参考方案2】:这可能只是一个错字,或者您实际上在一个类中使用了id
变量,但也许它应该是:
jQuery('#one img #'+id)
【讨论】:
【参考方案3】:.
是一个类选择器。尝试将其更改为#
:
$('#one img #'+id)
【讨论】:
但我想选择一个班级。我正在尝试您所说的方式,但使用 .代替 #。没用。【参考方案4】:ID 在您的 html 中应该是唯一的。所以你应该可以直接选择ID而不必担心它在哪个DIV。既然你提到ID附加到img
标签上,那么这就足够了。
$('#' + id);
【讨论】:
【参考方案5】:也许您想选择带有特定类的 img 并将该类保存到 id='one' 的 div 元素内的 id 变量中。
DEMO
在演示中,我选择 img 元素,克隆它,然后附加到 div id=one。
【讨论】:
以上是关于带有变量的 jQuery 选择器的主要内容,如果未能解决你的问题,请参考以下文章