一次发生超过1个动作onclick

时间:2013-09-11 20:44:34

标签: jquery

我正在使用点击打开的手风琴式脚本。问题是重复应用它的选择器,并且由于点击链接,只有被点击的元素的子元素应该受到影响,而所有其他列表项(重复的)都会受到影响。同一时间。

jquery是这样的:

$(document).ready(function(){
$("#odd-accordion ul.nextslide > li a").click(function(){
    $("ul.nextslide-second a").slideToggle('300');

    });
});

html是这样的:

<div class="adminmenuback">
    <div class="commonlogo">
        <img src="images/logo.png" alt="Wish2book">
    </div>
    <div class="searchh">
        <input type="text" placeholder="search"><span class="menutitle_rightimage"></span> 
    </div>

    <h2 class="menutitle"><span class="dashboard-icon"></span>Dashboard</h2>

    <ul class="adminmenu" id="odd-accordion">
        <li>
            <h3><a href="#">Flights</a></h3>
            <ul class="nextslide">
                <li><a href="#">abc</a>
                    <ul class="nextslide-second">
                        <li><a href="#">abc-child</a>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
        <li>
            <h3><a href="#">Flights</a></h3>
            <ul class="nextslide">
                <li><a href="#">abc</a>
                    <ul class="nextslide-second">
                        <li><a href="#">abc-child</a>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
        <li>
            <h3><a href="#">Flights</a></h3>
            <ul class="nextslide">
                <li><a href="#">abc</a>
                    <ul class="nextslide-second">
                        <li><a href="#">abc-child</a>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
</div>

请帮助。 jsfiddle链接在这里: http://jsfiddle.net/BVz97/

在jsfiddle中,只需点击“abc”即可选择所有abc-child

2 个答案:

答案 0 :(得分:2)

您可以使用find仅查找已点击元素中包含的内容。

$("#odd-accordion ul.nextslide > li a").click(function(){
    $(this).closest(".nextslide").find("ul.nextslide-second a").slideToggle('300');
});

http://jsfiddle.net/BVz97/1/

答案 1 :(得分:0)

您需要停止传播:

$(document).ready(function(){
    $("#odd-accordion ul.nextslide > li a").click(function(ev){
        ev.preventDefault();
        ev.stopPropagation();
        $("ul.nextslide-second a").slideToggle('300');
    });
});