Javascript jQuery.closest未找到正确的p元素
我试图确定为什么我的一些代码不起作用,尽管它看起来很简单 正如您在下面看到的,我正在确定img标记已经包含了类大小full,然后意图是找到最近的Javascript jQuery.closest未找到正确的p元素,javascript,jquery,Javascript,Jquery,我试图确定为什么我的一些代码不起作用,尽管它看起来很简单 正如您在下面看到的,我正在确定img标记已经包含了类大小full,然后意图是找到最近的p元素(这是容纳img元素的元素)b,并添加classCM blog image。为什么这不起作用 if($('.entry-content p img').hasClass('size-full')) { $(this).closest('p').addClass('CM-blog-image'); } HTML <div c
p
元素(这是容纳img
元素的元素)b,并添加classCM blog image
。为什么这不起作用
if($('.entry-content p img').hasClass('size-full')) {
$(this).closest('p').addClass('CM-blog-image');
}
HTML
<div class="entry-content" itemprop="text">
<p> // <-- Need to add class to this p element
<img src="/example.jpg" class='size-full'>
</p>
</div>
//如果您在条目内容类的下一个位置有p标记和图像标记。像下面这样使用。它应该会起作用
if($('.entry-content > p > img').hasClass('size-full')) {
$(this).closest('p').addClass('CM-blog-image');
}
如果您有p标记和图像标记,则紧靠条目内容类的下一个。像下面这样使用。它应该会起作用
if($('.entry-content > p > img').hasClass('size-full')) {
$(this).closest('p').addClass('CM-blog-image');
}
我假设您希望向找到的每个元素添加类
$('.entry-content p img').each(function(){
if($(this).hasClass('size-full'))
$(this).closest('p').addClass('CM-blog-image');
});
我假设您希望向找到的每个元素添加类
$('.entry-content p img').each(function(){
if($(this).hasClass('size-full'))
$(this).closest('p').addClass('CM-blog-image');
});
您可以这样简单地使用:
$('.entry-content img.size-full').parent().addClass('CM-blog-image');
//or you may use ^^ closest('p')
您可以这样简单地使用:
$('.entry-content img.size-full').parent().addClass('CM-blog-image');
//or you may use ^^ closest('p')
您可以使用简单的遍历方法来实现它。无需使用.each()
您可以使用简单的遍历方法来实现它。无需使用.each()
您可以显示您的html吗?您可以使用find而不是closest。@HarshSanghani添加了html标记。@HarshSanghani:.find()
将仅以自上而下的模式遍历DOM,但.closest()
则相反。$(this.parent('p').addClass('CM-blog-image');您可以显示您的html吗?您可以使用find而不是closest。@HarshSanghani添加了html标记。@HarshSanghani:.find()
将仅以自上而下的模式遍历DOM,但.closest()
则相反。$(this.parent('p').addClass('CM-blog-image');这使得它更加特定于DOMstructure@Delto很高兴能帮助您。这使它更具体到DOMstructure@Delto很高兴帮助你。