我遇到一个问题,即:eq()
不接受计数器n
,以便将值插入HTML中的表的新列。
$(document).ready(function() {
var $tablerow = $('table.table').find('tr');
count = 0;
$tablerow.each(function(index, value){
count += 1;
var $listitem = $(this);
n = parseInt($listitem.index());
var $newRow = $("<td>" + n + "</td>");
$("table.table tr:eq(n)").append($newRow);
});
});
HTML
<table class="table">
<tr><td>First row</td></tr>
<tr><td>second row</td></tr>
<tr><td>third row</td></tr>
<tr><td>fourth row</td></tr>
<tr><td>fifth row</td></tr>
<tr><td>sixth row</td></tr>
<tr><td>seventh row</td></tr>
<tr><td>eighth row</td></tr>
</table>
答案 0 :(得分:1)
按原样编写,除了将文字字符“n”写入.eq()
方法之外,您所做的只不过了。试试这个:
$("table.table tr:eq(" + n + ")").append($newRow);
答案 1 :(得分:0)
可以尝试使用它,就像您使用qoutes的上一行一样
$("table.table tr:eq(" + n + ")").append($newRow);
答案 2 :(得分:0)
无需在this
内索引$.each
,因为您的参数显示第一个是索引。
$(document).ready(function() {
var $tablerow = $('table.table tr');
$tablerow.each(function(index,element){
/* "this" is current row*/
$(this).append("<td>" + index+1 + "</td>" )
});
});
答案 3 :(得分:0)
替换
var $newRow = $("<td>" + n + "</td>");
$("table.table tr:eq(n)").append($newRow);`
带
var $newRow = $("<td>" + (n+1) + "</td>");
$("table.table tr:eq(" + n + ")").append($newRow);
这将有效