2

私は次のhtmlを持っています:-

<span id="event">
<ul>
    <li>Activities
    <ul>
        <li>Physical1
        <ul>
            <li>Cricket
            <ul><li>One Day</li>
            </ul>
            </li>
        </ul>
        </li>
    </ul>
    </li>
</ul>
</span>
<div id="activity"></div>

jqueryクリック関数を使用してすべてのliにクリックイベントを設定したいのですが、
これは完璧に機能しますが、このliテキストを#activitydivに設定したいの
は、私が試したことです:

$("#event ul li").live("click", function(event){
    event.stopPropagation();
    alert($(this).text());
    $("#activity").append($(this).text());
    return false;
});

http://jsfiddle.net/Va5E4/7/

私がliをクリックすると、divにすべてのliテキストが追加されます。クリックしたliテキストのみが必要です。
そこをクリックすると、タグliにテキストが追加されますdiv。例: - Cricket をクリックしてから、クリケットが div に追加されます。One Day をクリックすると、Div に追加されます...

どうすればいいですか?ありがとう。

4

3 に答える 3

2

これはjqueryメソッドを使用した代替手段です

クリックしたノードのクローンを作成し、すべての子ノードを削除します。残っているのはクリックされたノードだけなので、テキストのみを取得します。

$("#event li").on("click", function (event) {
    event.stopPropagation();
    $("#activity").append($(this).clone().children().remove().end().text());
    return false;
});

jsfiddleについて

于 2013-04-29T12:57:15.290 に答える