我想在关闭锚标签后立即将div移到现场。我所得到的只是图像类名。如何找到包装图像的结束锚标记?
<a href="#"><img class="cat-image" src="http://placekitten.com/200/300" title="Funky roots" /></a>在JS上,我有一个例子,在这个例子中,我遍历一个列表,寻找一个具有特定类名的图像。如果该图像存在,我希望将'.moveMe'移动到关闭锚标记之后。
不幸的是,我无法修改html。我不能将id或类添加到锚或图像标记中,也不能将整个事件包装在div中。
HTML:
<ul class='testList'>
<li class="listItem-0">
<div class="moveMe"></div> <pre>
<div class="wrapper">
<a href="#"><img class="cat-image" src="http://placekitten.com/200/300" title="Funky roots" /></a><!-- moveMe div here -->
</div>
<div class="summary"></div>
</pre>
</li>
<li class="listItem-1">
<div class="moveMe"></div> <pre>
<div class="wrapper">
<div></div>
</div>
<div class="summary"></div>
</pre>
</li>
<li class="listItem-2">
<div class="moveMe"></div> <pre>
<div class="wrapper">
<a href="#"><img class="cat-image" src="http://placekitten.com/300/400" title="bigger cat pic" /></a>
</div>
<div class="summary"></div>
</pre>
</li>
</ul>联署材料:
var listItems = $(".testList li");
listItems.each(function (idx, li) {
if ($(li).find('.cat-image').length) {
console.log('listItemContent image==>', $('pre').find('.cat-image'));
/*$(li).find('???? </a> ????').append($(li).find('.moveMe'));*/
}
console.log($('.testList').html());
});JS Fiddle
发布于 2014-06-17 05:34:21
尝试在此上下文中使用.after(),
var listItems = $(".testList li");
var cache = null;
listItems.each(function (idx, li) {
cache = $(li).find('.cat-image');
if (cache.length) {
cache.parent().after($(li).find('.moveMe'));
}
});演示
发布于 2014-06-17 05:42:53
您可以这样做:
var listItems = $(".testList li");
listItems.each(function (idx, li) {
var jli = $(li);
jli.find(".cat-image")
.closest("a")
.after(jli.find(".moveMe"));
});如果您愿意,可以将其简化为一行:
var listItems = $(".testList li");
listItems.each(function (idx, li) {
$(li).find(".cat-image").closest("a").after($(li).find(".moveMe"));
});http://jsfiddle.net/MBTNU/5/
https://stackoverflow.com/questions/24256337
复制相似问题