Jquery如何只选择.clicked DOM元素

时间:2014-02-21 21:45:52

标签: javascript jquery

我有一个带按钮的列表。所有人都有同一个班级。我怎么能只选择使用jQuery点击的DOM元素?

假设我只想在点击的按钮上拨打.fadeOut()并保留其余按钮......

HTML:

<ul>
    <li><button class="sidebutton" >click Me1!</button></li>
    <li><button class="sidebutton" >click Me2!</button></li>
    <li><button class="sidebutton" >click Me3!</button></li>
    <li><button class="sidebutton" >click Me4!</button></li>
</ul>

4 个答案:

答案 0 :(得分:3)

试试这个:

$('.yourclass').click(function () {
    $(this).fadeOut(); //$(this) is the clicked button
})

答案 1 :(得分:2)

$("button").click(function(){
    $(this).fadeOut(); //this referes current clicked button
});

答案 2 :(得分:1)

你可以采取两种方式:

1。为每个按钮分配一个事件处理程序:

$('.sidebutton').on('click', function () {
    $(this).fadeOut();
});

2。将一个事件处理程序分配给<ul>并让事件向上传播:

$('ul').on('click', '.sidebutton', function () {
    $(this).fadeOut();
});

答案 3 :(得分:1)

请试试这个:

<html>
<head>
    <title>Helper</title>
    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
</head>
<body>
    <ul>
        <li><button>Click me!</button></li>
        <li><button>Click me!</button></li>
        <li><button>Click me!</button></li>
        <li><button>Click me!</button></li>
    </ul>
</body>
<script type="text/javascript">
    (function(){
        $('li button').on('click', function(){
            $(this).fadeOut("slow", function(){
                console.log('Completed!');
            })
        })
    })();


</script>       
</html>