首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有jQuery的多开关标签

带有jQuery的多开关标签
EN

Stack Overflow用户
提问于 2014-03-03 15:54:22
回答 2查看 101关注 0票数 0

请帮帮我,我需要在DOM结构中替换(切换)标签。我有这个:

代码语言:javascript
复制
<div class="wrap">
    <ul>
        <li>
            <div class="block">
                <div class="title">title 1</div>
                <div class="image">image 1 for title 1</div>
            </div>
       </li>
       <li>
            <div class="block">
                <div class="title">title 2</div>
                <div class="image">image 2 for title 2</div>
            </div>
       </li>
       <li>
            <div class="block">
                <div class="title">title 3</div>
                <div class="image">image 3 for title 3</div>
            </div>
       </li>
       <li>
            <div class="block">
                <div class="title">title 4</div>
                <div class="image">image 4 for title 4</div>
            </div>
       </li>
   </ul>            
</div>

我需要这个结果,我怎么得到它?

代码语言:javascript
复制
<div class="wrap">
            <ul>
                <li>
                    <div class="block">
                        <div class="image">image 1 for title 1</div>
                        <div class="title">title 1</div>
                    </div>
                </li>
                <li>
                    <div class="block">
                        <div class="image">image 2 for title 2</div>
                        <div class="title">title 2</div>
                    </div>
                </li>
                <li>
                    <div class="block">
                        <div class="image">image 3 for title 3</div>
                        <div class="title">title 3</div>
                    </div>
                </li>
                <li>
                    <div class="block">
                        <div class="image">image 4 for title 4</div>
                        <div class="title">title 4</div>
                    </div>
                </li>
            </ul>
      </div>

我试着使用jQuery .each(),但结果我得到了这样的结构

  • 图4
  • 图3
  • 图2
  • 图1
  • 标题1
  • 图4
  • 图3
  • 图2
  • 图1
  • 标题2
  • 图4
  • 图3
  • 图2
  • 图1
  • 标题3
  • 图4
  • 图3
  • 图2
  • 图1
  • 标题4
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-03 15:58:43

试试.before()

代码语言:javascript
复制
$('.block .title').before(function(){
    return $(this).next()
})

演示:小提琴

票数 0
EN

Stack Overflow用户

发布于 2014-03-03 15:56:43

您可以使用insertBefore()

代码语言:javascript
复制
$.each($('.wrap .image'), function() {
    $(this).insertBefore($(this).prev());
});

顺便说一句,您的HTML标记是无效的,您应该正确地使用title类关闭div,并且我已经在演示中为您修复了它。

小提琴演示

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

https://stackoverflow.com/questions/22151239

复制
相关文章

相似问题

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