如何在jQuery选择器中添加变量

如何在jQuery选择器中添加变量,jquery,Jquery,你好 我想在jQuery选择器中添加一个变量,但语法错误: var c = $(this).attr('class'); if ($('#articleThumb ul li img').hasClass(c)) { $('#articleThumb ul li img.'+c').clone().appendTo('#articleFeatured'); } 班级 img.class是一个变量,而不是像img.

你好

我想在jQuery选择器中添加一个变量,但语法错误:

var c = $(this).attr('class');

            if ($('#articleThumb ul li img').hasClass(c)) {
                $('#articleThumb ul li img.'+c').clone().appendTo('#articleFeatured');
            }
班级

img.class是一个变量,而不是像img.birds那样的常量


谢谢

您的报价已关闭,请注意
c
后面的错误报价。应该是:

$('#articleThumb ul li img.' + c)

您可以简单地将变量与选择器字符串连接起来。删除选择器中c结尾的额外单引号

改变


看起来您正在添加一个附加的

$('#articleThumb ul li img.' + c)

@DavidVanStaden-没问题还有一个问题:如果有多个元素具有特定的类,我如何只附加第一个元素?@DavidVanStaden您可以在选择器中使用
eq(0)
,例如:
$(“#articleThumb ul li img.+c+”:eq(0)”
还有一个问题:如果有多个元素具有特定的类,如何仅追加第一个元素?$('.classname:first')将为您提供第一个元素是的,但每次找到特定类时,追加函数将运行的循环…因此它不会侦听追加函数内的:第一个选择器…因为追加函数将再次执行,无法获取您,您能做一个小提琴吗?正如Grant Thomas指出的那样-您可以使用:$(“#articleThumb ul li img.”+c+”:eq(0)”,以防止复制/冗余
$('#articleThumb ul li img.' + c)
$('#articleThumb ul li img.' + c)