首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在图像后面找到关闭的锚标记

在图像后面找到关闭的锚标记
EN

Stack Overflow用户
提问于 2014-06-17 05:30:57
回答 2查看 123关注 0票数 0

我想在关闭锚标签后立即将div移到现场。我所得到的只是图像类名。如何找到包装图像的结束锚标记?

代码语言:javascript
复制
<a href="#"><img class="cat-image" src="http://placekitten.com/200/300" title="Funky roots" /></a>

在JS上,我有一个例子,在这个例子中,我遍历一个列表,寻找一个具有特定类名的图像。如果该图像存在,我希望将'.moveMe'移动到关闭锚标记之后。

不幸的是,我无法修改html。我不能将id或类添加到锚或图像标记中,也不能将整个事件包装在div中。

HTML:

代码语言:javascript
复制
<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>

联署材料:

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-17 05:34:21

尝试在此上下文中使用.after()

代码语言:javascript
复制
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'));
    }
});

演示

票数 4
EN

Stack Overflow用户

发布于 2014-06-17 05:42:53

您可以这样做:

代码语言:javascript
复制
var listItems = $(".testList li");
listItems.each(function (idx, li) {
    var jli = $(li);
    jli.find(".cat-image")
       .closest("a")
       .after(jli.find(".moveMe"));
});

如果您愿意,可以将其简化为一行:

代码语言:javascript
复制
var listItems = $(".testList li");
listItems.each(function (idx, li) {
    $(li).find(".cat-image").closest("a").after($(li).find(".moveMe"));
});

http://jsfiddle.net/MBTNU/5/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24256337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档