jquery喜欢类选择器并在纯js中使用$(this)[duplicate]

问题描述 投票:-2回答:1

这个问题在这里已有答案:

我想在jquery中创建一个js类选择器。

$('.someClass').click(function(){
    alert($(this).value());
});

我试过javascript。

function myFunction(this){
    alert(this).value;
}
document.getElementsByClassName('someClass').onclick = "myFunction";

这对我不起作用,我也提到了堆栈溢出中的许多其他论坛。

这不是重复...如果你发现它请帮助我链接

javascript jquery jquery-selectors
1个回答
2
投票

使用querySelectorAll获取该类的所有元素,然后使用forEach循环遍历它们并为每个元素添加一个事件监听器:

使用jQuery编码:

$('.someClass').click(function(){
    console.log($(this).text());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<span class="someClass">Hello, World!</span>
<span class="someClass">1, 2!</span>
<span class="someClass">3, 4!</span>

用纯JS编码:

var all = document.querySelectorAll('.someClass');

all.forEach((e) => {
  e.addEventListener('click', () => {
    console.log(e.innerText);
  })
});
<span class="someClass">Hello, World!</span>
<span class="someClass">1, 2!</span>
<span class="someClass">3, 4!</span>
© www.soinside.com 2019 - 2024. All rights reserved.