-1

私はUL/Liをこのように構成しました

<ul>
 <li><a>1.1</a></li>
 <li>.....</li>
 <li><a>1.N</a></li>
    <ul>
      <li><a>2.1</a></li>
         <ul>
           <li><a>3.1</a></li>
           .....
           <li><a>3.N</a></a></li>
         </ul>
    </ul> 
</ul>

すべてのUL要素とLI要素を削除し、すべてのタグを保持したいと思います。私の目標は、メニューを複数行の文字列として取得することです。

jQueryでそれを行うにはどうすればよいですか?

4

2 に答える 2

0

まず、HTMLを修正する必要があります。ul他の要素の中に要素を含めることはできません。要素の中ulにある必要がありliます。

<ul>
  <li><a>1.1</a></li>
  <li><a>1.2</a></li>
  <li>
    <a>1.N</a>
    <ul>
      <li>
        <a>2.1</a>
        <ul>
          <li><a>3.1</a></li>
          <li><a>3.N</a></li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

リストを削除してリンクを保持するには、リンクをリストから移動してからリストを削除します。例えば:

$('ul>li>a').appendTo(document.body);
$('ul').remove();

デモ: http: //jsfiddle.net/kRBRC/

于 2013-03-16T18:18:57.423 に答える
0

これが役立つかどうかを確認してください。

Js:

var tags = $("ul li").map( function(){
          return $(this).html();
        }).get();      // get all tags in an Array.  I suspect you meant Array by saying `multi row strings`
$("#main ul").remove();

$("#main").append(tags);

Fot Html;

<div id="main">
<ul>
 <li><a>1.1</a></li>
 <li><a>1.N</a></li>
 <li><ul>
      <li><a>2.1</a></li>
       </li><ul>
           <li><a>3.1</a></li>
           <li><a>3.N</a></a></li>
         </ul>
       </li>
    </ul>
</li>
</ul>
</div>

サンプル

于 2013-03-16T18:22:21.833 に答える