$(document).ready(function(){
$('#show').click(function(){
var totrows= $('#table').attr('rows').length;
for(i=0; i < totrows; i++){
//var rowid = $('#table').$(this).attr('i');
alert(rowid);
}
});
});
在上面的函数中,当我们点击超链接“显示”时,我们从“table1”获取行数。我想将“i”的值添加到表中,使其成为“table1”“table2” “”table3“”table4“”table5“。注释行给我错误
答案 0 :(得分:1)
以下是您的实际代码,这是错误的,我会尝试解释您的程序中的几率,这可能会帮助您在将来的编码(请光临我,谢谢!!)
$(document).ready(function(){
$('#show').click(function(){
var totrows= $('#table').attr('rows').length;
for(i=0; i < totrows; i++){
//var rowid = $('#table').$(this).attr('i');
alert(rowid);
}
});
});
上述代码没有以正确的方式编写,因为
1 )var totrows= $('#table').attr('rows').length;
表格元素中的名称“行”是否有任何属性(或指定)?为什么你要担心一个属性的长度?
2 )第二件事,当你使用this
时,确保它将引用哪个元素。在您的代码中,
$('#show').click(function(){
var totrows= $('#table').attr('rows').length;
for(i=0; i < totrows; i++){
//var rowid = $('#table').$(this).attr('i');
alert(rowid);
}
});
//var rowid = $('#table').$(this).attr('i');
以上一行(已评论)无效,它应该是$(this).attr('myAttr');
之类的内容,而且它指的是$('#show')
(this
应引用tr
元素你将用tr
元素做一些事情
第3 强>)
for(i=0; i < totrows; i++){
//var rowid = $('#table').$(this).attr('i');
alert(rowid);
}
在 for 循环i
中是一个计数器变量,而不是属性
4 )最后一件事充分利用了jQuery API , jQuery.com 正在免费提供: )
修改: 如果你想让我为你编码,我会做如下的事情
$(document).ready(function() {
$('#show').click(function() {
$('#table tr').each(function(i) {
alert('table' + (i+1));
});
});
});
在.each()
函数中,我们将索引和元素作为参数传递给
$(selector).each(function(Index,Element){ //do some thing });
默认情况下,Index
初始化为0
,因此,如果您希望获得{table1,table2...
}的最终结果,只需将Index
增加后加上1
nick
答案 1 :(得分:0)
我不确定整体意图,但看起来像这样:
$(document).ready(function(){
$('#show').click(function(){
var totrows= $('#table').attr('rows').length;
for(i=0; i < totrows; i++){
var rowid = 'table' + (i+1);
alert(rowid);
}
});
});
这会提醒“table1”,“table2”等... .rows
i
的每个长度都会从0
开始,因此您需要添加1
它。如果您希望它基于<tr>
元素的数量而不是某些属性,则可以使用.each()
,如下所示:
$(function(){ //short for $(document).ready(function() {
$('#show').click(function(){
$('#table tr').each(function(i) {
var rowid = 'table' + (i+1);
alert(rowid);
});
});
});
答案 2 :(得分:0)
我认为你想在每一行或类似的东西中插入索引,例如
$(document).ready(function(){
$('#show').click(function(){
$('#mytable').find("td").each(function(i,el){
$(el).text($(el).text()+i)
});
});
});
它适用于以下html
<input type="button" id="show" value="Show">
<table id="mytable">
<tr><td>row</td></tr>
<tr><td>row</td></tr>
<tr><td>row</td></tr>
<tr><td>row</td></tr>
</table>
尝试此操作