带有变量的 jQuery 选择器

Posted

技术标签:

【中文标题】带有变量的 jQuery 选择器【英文标题】:jQuery selector with variable 【发布时间】:2011-05-05 18:18:37 【问题描述】:

我需要使用 jQuery 选择文件名包含某个字符串(变量)的所有图像。我正在使用:var str='-out.'; $('img[src*='+str+']'). //do something

它可以工作,但会在 Firefox 中触发以下警告:“预期 ']' to terminate attribute selector but found '.' " 有人知道如何避免这个警告吗?

谢谢

【问题讨论】:

请提供源代码和被触发的警告。 你能显示为警告吗? 【参考方案1】:

我尝试了以下代码,Firefox 没有发出任何警告(它按方面工作)?

   var str=".png";
    $('img[src*='+str+']').each(function()
      console.info(this.alt);
    );

【讨论】:

【参考方案2】:

我认为您需要在属性值周围加双引号或单引号。

查看 attr*="value" 选择器的 Jquery 文档

像这样:

$("img[src*='"+str+"']")

$('img[src*="'+str+'"]')

【讨论】:

在属性选择器规范 (w3.org/TR/css3-selectors) 中,您将需要双引号。

以上是关于带有变量的 jQuery 选择器的主要内容,如果未能解决你的问题,请参考以下文章

带有变量的 jQuery 选择器

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

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

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

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

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