我正在尝试设置表中给定行内所有单元格的class属性。这是我尝试过的,但是当我没有得到例外时,它也不起作用。
以下是行/单元格的当前html示例如下。
<tr id="rowid-1234">
<td class="tblistred">20-400 Silver Metal Closure</td>
<td class="tblistred">Tecno, LLC</td>
<td class="tblistred">Closure</td>
<td class="tblistred">New Item</td>
</tr>
这是我的剧本:
var rowId = "#rowid-" + response.id;
$(rowId).each(function (index) {
$(this).children('td').addClass('tblist');
});
更新 好的,我把它改成了这个,但它仍然没有设置类。
alert($(rowId).find("td:first-child").text());
$(rowId).children('td').addClass('tblist');
我添加了警报,以确保我有正确的行,并确认我这样做。
解 我不得不删除那里已有的课程
$(rowId + ' td').removeClass('tblistred').addClass('tblist');
答案 0 :(得分:3)
如代码突出显示,您的引号不匹配:
var rowID = '#row-' + response.id; // <-- see matching single quotes
此外,您应该只有一个具有给定id
的元素,因此在其上调用each
并没有多大意义。如果您有多个具有相同id
的元素,那么这可能是失败的另一个原因。如果没有,您可以$(rowId).children('td').addClass('tblist');
答案 1 :(得分:1)
怎么样:
$(rowID + ' td').addClass('tblist');
答案 2 :(得分:0)
你可能只需要这样做:
$('#row-" + response.Id + " td").addClass('tblist');
答案 3 :(得分:0)
在添加类之前,我必须从td中删除现有的类。
我找到了答案here。
这是我最终的结果。
$(rowId + ' td').removeClass('tblistred').addClass('tblist');