2

私はjavascriptが初めてです。配列でliタグのinnerHTMLを取得する方法を誰でも教えてもらえますか。例えば:

var content = '<li>Item 1</li>
<li>Item 2
 <ol>
  <li>Item 3</li>
  <li>Item 4</li>
 </ol>
</li>
<li>Item 5</li>'

次のように出力を取得できるように反復したい:

arr[0]='<li>Item 1</li>'
arr[1]='<li>Item 2
 <ol>
  <li>Item 3</li>
  <li>Item 4</li>
 </ol>
</li>'
arr[2]='<li>Item 5</li>'

また、入れ子になった ol を反復することにより、入れ子になった li も同様に使用できます。

のようなものを使用したいのですdocument.getElementsByTagName("li");が、コンテンツ変数データのみを使用する必要があります。

ありがとう。

4

3 に答える 3

1

jQueryを使ってみる

var el = $('<div />').append( content  ),
    ar  = [];

el.find('>li').each( function(){
    ar.push(
        $(this).clone().wrap('<p>').parent().html()
    )
});

console.log( ar );

コンソールで印刷しますconsole.log( ar );

[
 "<li>Item 1</li>" , 
 "<li>Item 2<ol><li>Item ...i>Item 4</li></ol></li>","<li>Item 5</li>" ,
 "<li>Item 5</li>"
]

ar[0] または 1 .. 2 などにアクセスできます。

于 2013-03-21T10:00:06.020 に答える
0

JQuery APIを使用してみることができ ます

<ul>
<li>foo</li>
<li>bar</li>
</ul>

$( "li" ).each(function( index ) {
console.log( index + ": " + $(this).text() );
});

したがって、リスト内の各項目についてメッセージがログに記録されます。

0: フー 1: バー

于 2013-03-21T09:46:17.103 に答える
0

これをチェックして、私に知らせてください http://jsfiddle.net/MrTJM/

   $(document).ready(function() {
     // Handler for .ready() called.

     $( "li" ).each(function( count ) {
    console.log( count + ": " + $(this).text() );
    });

} );

于 2013-03-21T09:54:29.107 に答える