2015-08-15 47 views
-1

我有列表項。現在我想點擊列表項。使用jquery我能夠做到這一點。 http://jsfiddle.net/aec8v3c8/4/如何在不使用jQuery的情況下點擊列表項目?

<li class="corner-all" data-value="1aj"></li> 
<li class="corner-all" data-value="2aj"></li> 
<li class="corner-all" data-value="3aj"></li> 

$('li[data-value="1aj"]').click(function(){ 
    alert('This item is clciked'); 
}); 

我們如何能做到這一點,而不使用jQuery?

+0

去看看[document.querySelectorAll(HTTPS: //developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll)和[addEventListener](https://developer.mozilla.org/zh-TW/docs/Web/API/EventTarget/addEventListener )。 – fuyushimoya

回答

3

記得有什麼 jQuery的可以做,不能以純JS來完成(和運行速度更快):

var lis = document.querySelectorAll('li[data-value="1aj"]'); 
 

 
for(var i = 0; i < lis.length; i++) { 
 
    lis[i].addEventListener('click', function(){ 
 
    alert('Item clicked'); 
 
    }) 
 
}
<li class="corner-all" data-value="1aj"></li> 
 
<li class="corner-all" data-value="2aj"></li> 
 
<li class="corner-all" data-value="3aj"></li>

+0

來自w3schools.com .. 注意:Internet Explorer 8和更早版本以及Opera 7.0和更早版本不支持addEventListener()方法。但是,對於這些特定的瀏覽器版本,可以使用attachEvent()方法附加事件處理程序。 – vinayakj

+0

是否有任何其他方式在所有瀏覽器上傳遞此程序?我的工作是檢查該程序是否在窗口7上的IE8,opera7和其他瀏覽器上正確運行。 – ajayv

+0

今年是2015年,如果您希望從2009年開始支持瀏覽器,則需要檢查它們的後備/填充。例如:你可以檢查一個函數是否存在,如下所示:if(window.addEventListener){//普通瀏覽器} else if(window.attachEvent){//古董IE} else if ... etc' – Shomz

相關問題