1

私はアクティビティxmlファイルを1つ持っており、アクティビティをクリックするとアクティビティから取得しようとしています。すべてのクリックの終わりのように見えます。

  <ul id="firstLevelChild">
<ul id="ul">
    <li id="4">Activities
        <ul class="ul">
            <li id="10066">Physical1
                <ul class="ul">
                    <li id="10067">Cricket
                        <ul class="ul">
                            <li id="10068">One Day</li>
                        </ul>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
</ul>

ここで、li にリーフ ノードがない場合は、他の別の div に表示する必要があります。何かのようなもの:

Acitivitiesそこに子ノードPhysical1があり、そこにも子がCricketあり、あるOne Dayone day、私の表示をクリックすると子がありません<div id="result"></div>

4

3 に答える 3

1

これをコメントとして追加しますが、十分な担当者がいません。ChildNodes()は関数ではありません - jQuery を使用しているように見えるので、children()代わりに試してください。

于 2013-04-24T08:27:05.043 に答える
0

あなたが提供したマークアップが常に、つまりulすべての子としてどのようになるかを仮定しますliul現在の 内に存在するかどうかを確認するだけですliフィドルを見る

HTML

<div id="content">
    <ul id="firstLevelChild">
       <li>
        <ul id="ul">
            <li id="4">Activities
                <ul class="ul">
                    <li id="10066">Physical1
                        <ul class="ul">
                            <li id="10067">Cricket
                                <ul class="ul">
                                    <li id="10068">One Day</li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                </ul>
            </li>
           </ul>
        </li>
    </ul>
</div>

<h2>Result</h2>

<ul id="result"></ul>

JS

$('#content li').each(function (i) {

    //for display purpose only
    $('#content').append('<span class="list">li(' + i + '):' + $('ul', $(this)).length + '</span>');

    //the code you needed
    if ($('ul', $(this)).length < 1) {
        $(this).on('click', function () {
          $('#result').append($(this).parent().html());
        });
    }
});
于 2013-04-24T09:30:46.190 に答える
0

私はjavascriptがあなたを助けることができると思います。最初にDOMを正しく構築したという事実からの一部;)

hasChildNodes() メソッドは、現在の要素ノードに子ノードがある場合は TRUE を返し、そうでない場合は FALSE を返します。

http://www.w3schools.com/dom/met_element_haschildnodes.asp

于 2013-04-24T07:56:16.977 に答える