我正在尝试在页面上的多个(未知数量)元素上使用.text()。

考虑:

<div class="myClass">element1</div>
<div class="myClass">element2</div>
<div class="myClass">element3</div>




$(document).ready(function(){
    $( ".myClass" ).click(function() {
        var text = $('.myClass').text()
        alert(text)
    });
});


问题是.text()将同时返回所有元素(在本示例中为"element1element2element3")。

我只需要返回所单击类中的文本,例如:单击element2,它将"element2"返回为.text()

最佳答案

Context是关键。

事件回调在trigger元素的上下文中运行。换句话说,this指向该元素。因此,不要像现在那样重复选择器(在性能方面不必要的浪费),请参考this

$( ".myClass" ).click(function() {
    var text = $(this).text(); //this === the clicked element
    console.log(text);
});

10-08 09:08
查看更多