这是原始代码:
var arrayList = $("td.ms-vb-title:contains('')");
alert(arrayList.text());
$.each(arrayList, function (i, e) {
areaname[i] = $(e).text();
});
输出:alert(arrayList.text());
- > 1 2 3 4 5
但是,修改后的编辑后的代码无效...
var arrayList = $("td.ms-vb-title:contains('')");
arrayList = $(arrayList).closest('tbody').find('tr ');
$(arrayList).each(function () {
if ($(this).find('td.ms-vb2').eq(1).text() != "") {
arrayList = $(this).find('td.ms-vb2').eq(1);
}
});
alert(arrayList.text());
$.each(arrayList_temp, function (i, e) {
areaname[i] = $(e).text();
});
输出:alert(arrayList.text());
- > 2,009
(应与1 2 3 4 5
并列2,004 2,005 2,006 2,007 2,009
)
JSFIDDLE:http://jsfiddle.net/huydq91/CRY5w/2/
答案 0 :(得分:1)
使用你的选择器就像:
var arrayList = $("td.ms-vb-title:contains('')");
arrayList = arrayList.closest('tbody').find('tr');
var arrayList_temp = null;
$(arrayList).each(function () {
if ($(this).find('td.ms-vb2').eq(1).text() != "") {
if (arrayList_temp)
arrayList_temp = arrayList_temp.add($(this).find('td.ms-vb2').eq(1));
else
arrayList_temp = $(this).find('td.ms-vb2').eq(1);
}
});
alert(arrayList_temp.text());
$.each(arrayList_temp, function (i, e) {
areaname[i] = $(e).text();
});
但我没有检查你的html结构,因为它乍一看很混乱。也许还有更好的方式...