2014-02-21 53 views
-1

我有一個按鈕列表。所有人都有同一班。我怎樣才能夠選擇只使用jQuery點擊的DOM元素?Jquery如何只選擇.clicked的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> 
+0

'this' would is點擊項目。 –

+4

這不是涵蓋**每個** jQuery教程嗎? – Barmar

+0

@Barmar但OP已搜索所有教程無濟於事,因爲這是*不同* – MonkeyZeus

回答

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

試試這個:

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

擊敗了我。 +1 – War10ck

1

你可以這樣做的兩種方式:

1.分配一個事件處理程序的每個按鈕:

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

2.分配一個事件處理程序<ul>並讓事件向上傳播:

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

PLS嘗試這個:

<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>