2013-05-11 31 views
0

我要选择a这是img的母公司,其class具有blah-3-**是一个通配符,因为它可能是任何数字。然后,我想将类gallery添加到a父级。选择通配符子类,并添加类的父

<div class="content"> 
    <a href="link"> 
     <img src="blah.jpg" class="blah-1 blah-2 blah-3-01"> 
    </a> 
</div> 

所以代码执行后,a href应该有class="gallery"添加到它。

这是我的非工作代码:

$('.content a > img[class^='blah-3'').parent().attr('class', 'gallery');

代码不能正常工作,它给了我一个意外的标识符错误。

我的代码有什么问题?有人可以教育我吗?

谢谢。

回答

2

修复行情和括号。 您需要通配符选择*而不是startswith选择^

$('.content a > img[class*=blah-3]').parent().attr('class', 'gallery'); 

$('.content a > img[class*=blah-3]').closest('a').attr('class', 'gallery'); 

您还可以使用.addClass如果您a有其他类。如果班级已存在,.addClass将不会再次添加。

$('.content a > img[class*=blah-3]').closest('a').addClass('gallery'); 
+0

我已经试过了。由于某些原因,这些都没有工作。我不断收到'Syntax Error:Unexpected identifier'。我的原代码工作'$('。content a> img')。parent()。attr('class','gallery');'但我想要更具体地选择一个'img'类。 – AAA 2013-05-12 02:22:32

+0

你可以在小提琴中复制它吗?检查这个小提琴。 http://jsfiddle.net/WjzVF/ – PSL 2013-05-12 02:38:16

+1

插件引起干扰时出现问题。谢谢! – AAA 2013-05-12 04:13:02