2013-12-10 64 views
0


我可以這樣做$('div')。點擊...它也可以正常工作。但我認爲使用容器div更好。因爲整個頁面是一個長頁面,並且只要我使用div來進行onclick,該功能就會運行。如果點擊'看我',它應該提醒我'見我',如果我點擊'看見我',Jquery Onclick div會與課堂和提示,如果點擊內部div

<div class="directFilter"> 
    <div class="boxWithRightArrow seeMe">See me</div> 
    <div class="boldFont filterHeader">Sort By</div> 
    <div class="boxWithRightArrow borderTop bestClick">Best click</div> 
    <div class="boxWithRightArrow intermediateTime">Intermediate time</div> 
    <div class="boxWithRightArrow shortestTime">Shortest time</div> 
    <div class="boxWithRightArrow iPreferred">I preferred</div> 
</div> 


$('.directFilter').click(function() { 

     alert($(this).attr('class')); //alerts directFilter 

      if ($(this).hasClass("seeMe")) { 
       alert("see me"); 
      } else if ($(this).hasClass("bestClick")) { 
       alert("b click"); 
      } else if ($(this).hasClass("intermediateTime")) { 
       alert("itime"); 
      } else if ($(this).hasClass("shortestTime")) { 
       alert("s time"); 
      } else if ($(this).hasClass("iPreferred")) { 
       alert("i pre"); 
      } 
} 
    ); 

的jsfiddle:http://jsfiddle.net/smilyface/e2L7s/

有什麼建議?

回答

6

您可以使用event.target來確定事件的來源。那麼您需要使用html()或text()(如$(event.target).html()$(event.target).text())來獲取元素的內部內容。

Live Demo

$('.directFilter').click(function(event) { 
     alert($(event.target).html()); //alerts directFilter 
}); 

如果你有獨特的工作,每個做,如果那麼你將需要使用event.target作爲條件的源對象標識。

+0

太好了! 它工作正常。 謝謝:) 我只能在8分鐘後將此設置爲答案(勾號)! – smilyface

+0

這就是我想要的:alert($(event.target).hasClass('seeMe')); – smilyface

+0

那麼其他條件呢? – Adil

3
$(document).on('click',function(e) { 
    // use this if you want limit clicks in .directFilter only 
    // $(document).on('click','.directFilter',function(e) 

    $this = $(e.target); 
    alert($this.text()) 
}); 
2

http://jsfiddle.net/prollygeek/e2L7s/7/

$('.directFilter').children().click(function() { 

     // alert($(this).attr('class')); //alerts directFilter 

      if ($(this).hasClass("seeMe")) { 
       alert("see me"); 
      } else if ($(this).hasClass("bestClick")) { 
       alert("b click"); 
      } else if ($(this).hasClass("intermediateTime")) { 
       alert("itime"); 
      } else if ($(this).hasClass("shortestTime")) { 
       alert("s time"); 
      } else if ($(this).hasClass("iPreferred")) { 
       alert("i pre"); 
      } 
} 
    ); 

爲什麼用這麼多的IF?!

相關問題