0

次のコンテンツでは、マークアップ タグ<div class="sub"></div> を削除する必要がありますが、jquery のコンテンツではありません。これは、メニューをレスポンシブ レイアウトに適応させるためです。

<nav id="top">  
<ul>
    <li class="ti" id="snw"> <a class="mm" href="/snowdepth/">Weather</a>
       <div class="sub">    

          <ul>
               <li><h2>Snowline</h2></li>
                <li><a href="/alpen/nordliche%20ostalpen/">Nordliche Ostalpen</a></li>    
         </ul>

      </div>
    </li>

    <li class="ti" id="blg"> <a class="mm" href="/live/">Weblog</a></li>
</ul>
</nav>
4

6 に答える 6

1

unwrap() を試してください:

​$('.sub').find('ul').unwrap()​;

基本的に、 のすべての子要素を探し、.subそれらをアンラップするか、親を削除します。

デモは次のとおりです。http://jsfiddle.net/yEseX/

于 2012-11-24T11:08:29.477 に答える
0

これを試して、

 var content = $(".sub").html(); // stored ".sub" div content
 $(".sub").remove(); // remove ".sub" div
 $("#top #snw").after(content); // insert content where you want
于 2012-11-24T10:51:47.317 に答える
0

これを試して:

var list = $('#snw');
var html = list.html();
list.html(html.replace('<div class="sub">','').replace('</div>',''));

こちらのデモ

于 2012-11-24T10:54:52.977 に答える
0

このようにできます。

ライブデモ

$('.sub').parent().html($('.sub').html());
于 2012-11-24T10:14:53.230 に答える
0

class で複数の div があると仮定すると、これをおsub勧めします:

var container = $('#top');
container.html(
    container.html().split('<div class="sub">').join('').split('</div>').join('')
);
于 2012-11-24T10:15:23.090 に答える
0

@Abhilashの答えはこれまでのところ最もきちんとしていると思いますが、セレクターを少し変更します:

$('.sub').contents().unwrap();

これにより、すべての要素が削除.subされ、その内容はそのまま残ります。

JsFiddle: http://jsfiddle.net/yEseX/2/

于 2012-11-24T11:56:53.450 に答える