0

私は問題があります。いくつかのリストからIDを取得したい。リストは次のとおりです。

<ul id="ul_navigation">
        <li><a href="<?php echo full_url(); ?>">Home</a></li>
        <li id="1"><a href="#">Office Routine</a>
            <ul>
                <li id="4"><a href="#">Meeting Points</a></li>
                <li id="5"><a href="#">Statistic 101</a></li>
                <li id="6"><a href="#">Email 101</a></li>
                <li id="7"><a href="#">General</a></li>
                <li id="8"><a href="#">Schedule</a></li>
                <li id="9"><a href="#">Smart Tips</a></li>
            </ul>
        </li>
        <li id="2"><a href="#">Procedures</a>
            <ul>
                <li id="10"><a href="#">Operation</a></li>
                <li id="11"><a href="#">Export Commercial</a></li>
                <li id="12"><a href="#">Customer Service</a></li>
                <li id="13"><a href="#">Export Document</a></li>
                <li id="14"><a href="#">Logistic</a></li>
                <li id="15"><a href="#">Finance</a></li>
                <li id="16"><a href="#">Import Document</a></li>
                <li id="17"><a href="#">Information Technology</a></li>
                <li id="18"><a href="#">Human Resource Management</a></li>
            </ul>

以下のjquery構文を使用してIDを取得できます。

$("#ul_navigation li").click(function() {
        alert(this.id); // get id of clicked li
    });

それは完璧に機能しますが、問題は、 sublist id をクリックすると、ヘッダーリスト id も表示されることです。たとえば、ID が 4 のミーティング ポイントをクリックすると、オフィス ルーチン ID も表示されます。

サブリストIDのみが表示されるように除外を作成する方法は?

ありがとうございました。

4

3 に答える 3

1

イベントが処理されたら、イベントの伝播を防ぐ必要があります。

$("#ul_navigation li").click(function(e) {
    alert(this.id); // get id of clicked li
    e.stopPropagation()
});

デモ:フィドル

于 2013-06-19T03:11:05.577 に答える
0

直接の子セレクターを使用します。

$("#ul_navigation > li").click(function() {
        alert(this.id); // get id of clicked li
    });

ここにデモがあります ここにドキュメントがあります

于 2013-06-19T03:13:32.257 に答える