簡體   English   中英

相當於jQuery onclick的Javascript

[英]Javascript equivalent of jQuery onclick

我應該如何構造我的代碼以獲得此jQuery的效果

var divQuery = $('.html5gallery-thumbs-0').children();
    divQuery.on('click', function () {...}

我以為是這樣的:

 var divQuery = document.getELementsByClassName('html5gallery-thumbs-0');
        divQuery.onclick = function (elem) {
//this.style.display = 'none'
// OR
//elem.style.display = 'none'

}

元素應該引用clicket對象嗎? 或者,它應該是關鍵單詞this 我想學習javascript因為jQuery畢竟只是庫。 先感謝您!

正好趕上家長與querySelector ,並把它的孩子children的功能。 然后-對其進行迭代並綁定偵聽器。

 const divQuery = document.querySelector('.a'); Array.from(divQuery.children).forEach(v => { return v.addEventListener('click', function() { console.log(this.textContent); }) }) 
 <div class="a"> <div>child1</div> <div>child2</div> </div> 

擴展友善用戶的回答還有另外兩種方法:

使用最新和最強大的JS功能:

const divQuery = document.querySelector('.a');
divQuery.childNodes.forEach(v => {
  v.addEventListener('click', function() {
    console.log(this.textContent);
   })
 });

還有一個非常古老的版本(它支持IE和其他較舊的瀏覽器):

const divQuery = document.getElementsByClassName('a')[0];
  [].forEach.call(divQuery.children, function(v){
     v.addEventListener('click', function() {
     console.log(this.textContent);
  })
})

你在做什么幾乎是正確的。 但是,當您按類查找元素時,它將為您提供對象的集合。 因此,首先選擇索引,然后分配onclick函數。 像下面。

var divQuery = document.getELementsByClassName('html5gallery-thumbs-0');
        divQuery[0].onclick = function (elem) {
//this.style.display = 'none'
// OR
//elem.style.display = 'none'

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM