1

谁能告诉我以下问题在哪里?我希望系统在循环中提醒每个列表项的锚文本,但想不出如何构造“this”语法?

$('.jsGrid ul li').each(function(index) {
    alert(index + ': ' + $('this .overlayContent a').text());

});

干杯保罗

4

4 回答 4

1

this是一个变量,不会在字符串中被识别。围绕它构造 jQuery 对象并使用它find来获取您正在寻找的锚元素:

alert(index + ': ' + $(this).find('.overlayContent a').text());

如果你搜索$("this .overlayContent a")- jQuery 会寻找这样构造的元素:

<this>
   <div class='overlayContent'><a>Some text here</a></div>
</this>
于 2012-04-05T11:19:46.657 回答
1
alert(index + ': ' + $('.overlayContent a',this).text());
于 2012-04-05T11:20:30.460 回答
0
$('.jsGrid ul li').each(function(index) {
    alert(index + ': ' + $(this).find('.overlayContent a').text());
});
于 2012-04-05T11:20:28.593 回答
0

你不能像这样使用这个关键字。而是使用这个

$('.jsGrid ul li').each(function(index) {
    alert(index + ': ' + $('this').find('a').text());
});

或者你可以这样做'

$('.jsGrid ul li').each(function(index) {
    alert(index + ': ' + $('this').children().text());
});
于 2012-04-05T11:22:30.370 回答