我正在尝试获取表中特定单元格的值,以便过滤掉不需要的行。但是,当我尝试获取该单元格的值时,它始终报告null
或根本不报告任何内容。我查看了几个来源并以同样的方式完成了我的代码而没有运气。这是我的代码:
$("td").each(function () {
var setName = $(this).find("#headerName").text();
alert(setName);
if (setName != weaverSet) {
$(this).hide();
}
weaverSet
正在从下拉菜单传递它的值并正常工作。以下是我想要获得的表格部分的代码:
<td id ="headerName">
@item.WeaverSetName
</td>
对此问题表示赞赏。
答案 0 :(得分:0)
尝试在不调用find函数的情况下获取td的值。在你的循环中得到像这样的值
var setName = $(this).text();
答案 1 :(得分:0)
根据您的问题,您最有可能使用headerName的类而不是ID(您的页面上只应该有一个ID)。
然后您可以执行相同的迭代。
$("td").each(function () {
var setName = $('.headerName',this).text();
alert(setName);
if (setName != weaverSet) {$(this).hide();}
});
<强> Example 强>
或者它们只是元素,你应该能够完全从它们中提取文本及其内容:
$("td").each(function()
{
var setName = $(this).text();
alert(setName);
}
答案 2 :(得分:0)
您应该使用filter("#headerName")
代替find("#headerName")
您已经在迭代所有单元格。 find
在每个单元格中查找名为headerName
的单元格。你可能想要的是检查当前单元格是否具有使用filter()
函数完成的id。
答案 3 :(得分:0)
只有#headerName单元格位于另一个<td>
内时,您所拥有的代码才有效。是否只有一个<td>
具有ID headerName?如果是这样,这应该有效(没有围绕它的.each()):
var cell= $("#headerName");
var setName = cell.text();
alert(setName);
if (setName != weaverSet) {
$(cell).hide();
}
如果没有,那么这是有问题的,因为ID必须是唯一的,在这种情况下你应该使用类。