任何人都可以告诉我以下哪里出错?我希望系统在循环中警告每个列表项的锚文本,但是不能考虑如何构造'this'语法?
$('.jsGrid ul li').each(function(index) {
alert(index + ': ' + $('this .overlayContent a').text());
});
干杯 保罗
答案 0 :(得分: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>
答案 1 :(得分:1)
alert(index + ': ' + $('.overlayContent a',this).text());
答案 2 :(得分:0)
$('.jsGrid ul li').each(function(index) {
alert(index + ': ' + $(this).find('.overlayContent a').text());
});
答案 3 :(得分:0)
您无法像这样使用此关键字。而是使用这个
$('.jsGrid ul li').each(function(index) {
alert(index + ': ' + $('this').find('a').text());
});
或者你就像这样'
$('.jsGrid ul li').each(function(index) {
alert(index + ': ' + $('this').children().text());
});