2014-10-31 89 views
0

如果我有HTML這樣如何監聽點擊事件,點擊時發現父母的div?

<div class="col-xs-3"> 
    <h2>A</h2> 
    <div class="abc"> 
     <div class="def"><a class="btn"></a></div> 
     <h3>B</h3> 
     <p><a class="btn">C</a></p> 
    </div> 
</div> 

我怎麼能聽上<a class="btn">C</a>點擊事件,比找到<h2>A</h2>(A)的價值?

這裏是我的嘗試

$(document).on('click', '.btn', function (event) { 
    var btn = event.target, container; 
    container = $(btn).closest('h2'); 
    window.console.log(container); 
    event.preventDefault(); 
}); 
+1

考慮給予[文檔'.closest()'](http://api.jquery.com)很好看。 – 2014-10-31 01:33:27

+1

...也可以考慮瀏覽[遍歷文檔](http://api.jquery.com/category/traversing/)。這應該會給你所有你需要的信息。 – 2014-10-31 01:34:25

回答

1

$('.btn').on('click', function() { 
 
    alert($(this).closest('.abc').prev().text()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-xs-3"> 
 
    <h2>A</h2> 
 
    <div class="abc"> 
 
     <div class="close"><a class="btn"></a></div> 
 
     <h3>B</h3> 
 
     <p><a class="btn">C</a></p> 
 
    </div> 
 
</div>