0

我正在使用 jQuery 添加class="prettyPhoto"到所有<div class="entry-content">包含图像的链接。

$('.entry-content a').has('img').addClass('prettyPhoto');

代码运行良好;但是我无法调整它以排除位于其中的任何链接<div class="hover_link">,我无法弄清楚如何。

在摆弄之后,我有以下产生奇怪的结果:

if(!$('.entry-content a').parent('.hover_link')) {
    $('.entry-content a').has('img').addClass('prettyPhoto');
}

一些示例html:

<div class="entry-content">

    <!-- prettyPhoto should be added to the next link -->
    <a href="whatever"><img src="whatever.jpg"></a>

    <!-- prettyPhoto shouldn't be added to the next link (there's no img) -->
    <a href="whatever">Some Text</a>

    <div class="hover_link">
        <!-- prettyPhoto shouldn't be added inside of .hover_link -->
        <a href="whatever"><img src="whatever.jpg"></a>
    </div>

</div>
4

2 回答 2

0

像这样的东西应该工作:

$('.entry-content a').has('img').each(function() {
  if($(this).parent('hover_link').length == 0) $(this).addClass('prettyPhoto');
});
于 2013-03-22T22:13:26.323 回答
0

只需使用 jQuery 的not

$('.entry-content a').not('.hover_link a').addClass('prettyPhoto');
于 2013-03-22T22:14:13.007 回答