所以我试图完成以下
目前我被困在第一部分,我可以在我的示例CodePen here中循环两次。
但是我保存了第一条消息两次,确实在第二个td中获取了文本。
HTML
<table cellpadding="10" border="1">
<tr>
<td>Name</td>
<td>Wants to Meet</td>
<td >Message</td>
</tr>
<tr>
<td>Ann</td>
<td>Cal</td>
<td class="manager-msg">Hi I'd love to meet Cal</td>
</tr>
<tr>
<td>Bob</td>
<td>Joe</td>
<td class="manager-msg">Hi I'd like to meet Joe</td>
</tr>
</table>
的jQuery
var home_inbox_br_fix = function() {
var num_manager_msg = $('.manager-msg').length;
var test = [];
for (var i = 0, num_manager_msg; i < num_manager_msg; i++) {
test[i] = $('.manager-msg').html();
alert('Message '+(i+1));
alert(test);
console.log(test);
}
};
/*
var home_inbox_br_fix = function() {
var test = [];
$(".manager-msg").each(function(i){
test.push($('.manager-msg').html());
alert(this.id + " is the " + i + "th div with this class");
});
console.log(test);
};
*/
home_inbox_br_fix();
在X时刻得到代码隧道(你们怎么处理这个?
答案 0 :(得分:2)
我会使用.map()
来获取值。
var messages = $('.manager-msg').map(function() {
return $(this).text();
}).get();
答案 1 :(得分:2)
尝试使用jQuery .each()
var home_inbox_br_fix = function() {
var test = [];
$('.manager-msg').each(function(i){
test[i] = this.innerHTML;
alert(test[i]);
});
};
答案 2 :(得分:1)
您总是获得相同的文本,因为您在获取HTML时没有使用当前索引。如果你像这样循环它会起作用(尽管还有其他方法,如其他答案所示):
for (var i = 0, num_manager_msg; i < num_manager_msg; i++) {
test[i] = $('.manager-msg').eq(i).html();
// You were missing this! -----^
alert('Message '+(i+1));
alert(test[i]);
console.log(test[i]);
}
答案 3 :(得分:1)
你只需要正确的索引
var home_inbox_br_fix = function() {
var num_manager_msg = $('.manager-msg').length;
var test = [];
for (var i = 0, num_manager_msg; i < num_manager_msg; i++) {
test[i] = ($($('.manager-msg')[i]).html());
alert('Message '+(i+1));
alert(test);
console.log(test);
}
};