我正在尝试在页面上的多个(未知数量)元素上使用.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);
});