我尝试查找页面上是否有元素。如果元素在页面上,则找到其父元素并将其插入该父元素之后。
JQuery的:
if($('.underline .catIcon').length > 0){
$('.underline .catIcon').each(function(){
$(this).insertAfter($(this).parent().find('h2'));
$(this).css('float','left');
});
}
HTML:
<h2 class="underline">
<div class="catIcon" style="padding-right: 10px;"><!-- element to move -->
<img class="catIcon" alt="Projects" src="http://www.example.com/storage/images/category/on-site-support56x56.jpg" style="float: left;">
</div>
Projekty
</h2>
<!-- here before text and after h2 tag with class underline -->.text
<a class="link2 ui-link" target="_blank" href="http://www.example.com/cz/cs/22.html">>> info</a>
答案 0 :(得分:3)
h2
是父母的父元素,因此您需要使用.closest('h2')
,而不是.parent().find('h2')
- 它会在图片中查找h2
元素& #39;父母(div
)
jQuery(function(){
$('.underline .catIcon').each(function () {
$(this).insertAfter($(this).closest('h2'));
$(this).css('float', 'left');
});
});
演示:Fiddle
答案 1 :(得分:0)
使用 closest()
你需要去父母.underline
然后找不到这个
if($('.underline .catIcon').length > 0){
$('.underline .catIcon').each(function(){
$(this).insertAfter($(this).closest(".underline"));
$(this).css('float','left');
});
}