Wordpress在带有.wp-caption类的div中用图片包装图像。 我正在寻找一种方法来选择没有这个div的图像,所以我可以将它们包装在不同的div中。 (在所有图像周围保持一致的边框)
<div class="blog-post-content">
<div id="attachment_220" class="wp-caption alignleft" style="width: 310px">
<a href="/somewhere/"><img class="size-medium wp-image-220" src="/path/to/image" alt="" width="300" height="280" /></a>
<p class="wp-caption-text">Caption Text</p>
</div>
<p>This is the body of the post</p>
</div>
要测试我的选择器,我只是想添加一个绿色边框。一旦选择器工作,我就可以处理.wrap()。
我最有希望的尝试是:
$('.blog-post-content img').parent('div:not(".wp-caption")').css('border', '2px solid green');
......但没有运气。
答案 0 :(得分:5)
这个怎么样:(未经测试)
$('.blog-post-content img').filter(function(){
return !$(this).parents('div').hasClass('wp-caption');
}).css('border', '2px solid green');
答案 1 :(得分:0)
尝试:
$('.blog-post-content img').parent(':not("div.wp-caption")')
如果Matti对层次结构中的a
元素说了什么,那么上面的内容就不行了。
答案 2 :(得分:0)
我知道很久以前就问过这个问题了,但我想建议如下:
$('.blog-post-content img').closest('div:not(".wp-caption")')
未经测试,但我认为这应该有效,并且比上面的答案更短。使用最接近意味着忽略a。