带有变量的 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.classNameimg.'+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 选择器的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 jquery 选择器的变量

带有变量和查找的 Jquery 选择器

带有选择器的 JQuery 引用变量,错误的数据

带有变量的jquery选择器找不到元素

包含引号的jquery属性选择器变量?

如何使用变量处理 Jquery 选择器