jquery中字符串拼接

现在我定义了一个全局变量K~k有个循环,每次加1~我想把k拼接到tbody后面
因为我的table中的tbody的id是自动生成的~所以我获取id的时候也需要把k加进去
我现在有段这样的代码$("#tbody tr")
这是我自己写的 $('"#tbody'+k+' tr"')可是我觉得这样不对,到底要如何把k拼接进去呢
最新回答
落花终究无情ゞ

2024-10-31 09:24:27

你的思路对了,但写法上有些错误。


给你一个清晰的思考方式:


$()方法的参数可以是

字符串
。你只需要遵循字符串的拼接方式:


var tbodyId = "tbody" + k;
$( "#" + tbodyId + " tr")//此处既是你所需要的
追问
我发现这样根本获取不到每一个id值,因为k值是在循环的,这样子我只能获取到最后一个k值,我怎么样才能获取每一个k值呢···2~694~436~72这是我的QQ~~可以加我么
追答

我懂你的意思,如此可以防止,这个涉及“闭包”的概念:


for( var i = 0; i < 10; i++ ){
    (function(k){
        var tbodyId = "tbody" + k;
        $( "#" + tbodyId + " tr")//此处既是你所需要的
        //add your code below
        //...
    })(i);
}
上帝的女孩

2024-10-31 19:32:18

 $("#tbody"+k+" tr") //要么都用双引号
 $('#tbody'+k+' tr') //要么都用单引号
 两种都可以, 不过建议采用第一种双引号.
思乔香沁雪

2024-10-31 10:41:37

$("#tbody"+k).find("tr")  这样就可以啊
吃素的蚊子

2024-10-31 19:12:06

$("tbody[id='ID"+k+"'] tr")

选择tbody标签 并且id 属性等于ID+K 的所有 tr 子元素

试试看