我正在使用这些jQuery代码段:
$(".post img").each(function(){ $(this).wrap('<div class="fwparent" />'); });
$(".post iframe").each(function(){ $(this).wrap('<div class="fwparent" />'); });
用fwparent div类包装我的图像和iframe。但现在我需要他们为blockquotes做例外。
现在看起来像这样:
<div class="post">
...
<div class="fwparent"><img src="image.png"></div>
<div class="fwparent"><iframe src="movie"></div>
...
<blockquote>
<div class="fwparent"><img src="image.png"></div>
<div class="fwparent"><iframe src="movie"></div>
</blockquote>
...
</div>
但我希望它看起来像这样:
<div class="post">
...
<div class="fwparent"><img src="image.png"></div>
<div class="fwparent"><iframe src="movie"></div>
...
<blockquote>
<img src="image.png">
<iframe src="movie">
</blockquote>
...
</div>
有谁知道如何实现这个目标?
答案 0 :(得分:0)
您可以尝试使用此代码:
$(".post img, .post iframe").each(function(){
if ($(this).parent().prop('tagName') != 'BLOCKQUOTE') {
$(this).wrap('<div class="fwparent" />');
}
});
代码检查当前元素的父元素是否为blockquote,如果不是,则包装此元素。该代码还使用prop method。
答案 1 :(得分:0)
你可以试一试:
$(".post > img").each(function(){ $(this).wrap('<div class="fwparent" />'); });
$(".post > iframe").each(function(){ $(this).wrap('<div class="fwparent" />'); });
或更短的版本:
$(".post > img, .post > iframe").each(function(){
$(this).wrap('<div class="fwparent" />');
});