我正在努力让它发挥作用。 我需要将不可“点击”的图像包装在 div 内。
作为 a 的子级的图像不应被换行。
我做了以下事情:
if ($(window).width() > 960) {
if (!$("img").parent().is("a")) {
$("img").wrap('<div class="clickable_image"></div>');
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
<img class="alignnone wp-image-60001 size-full" src="http://placekitten.com/g/200/300" alt="yyyyy" width="1400" height="1686">
</p>
<p>
<a href="https://google.com" target="_blank">
<img class="alignnone wp-image-60003 size-full" src="http://placekitten.com/g/500/300" alt="xxxx" width="1500" height="350">
</a>
</p>
但是我犯了一些错误,因为它没有包装任何图像。如果我删除 !,它就会包裹两个图像。仅应包裹不在 a 内的图像。我如何实现这一目标?
最佳答案
您可以使用后代选择器仅包装 p
子级的 img
元素:
if ($(window).width() > 960) {
$('p > img').wrap('<div class="clickable_image" />');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
<img class="alignnone wp-image-60001 size-full" src="http://placekitten.com/g/200/300" alt="yyyyy" width="1400" height="1686">
</p>
<p>
<a href="https://google.com" target="_blank">
<img class="alignnone wp-image-60003 size-full" src="http://placekitten.com/g/500/300" alt="xxxx" width="1500" height="350">
</a>
</p>
关于javascript - jQuery 或 JS - 如果父级不是 <a> 如何包装图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63244194/