0

我正在尝试获取表中特定单元格的值以过滤掉不需要的行。但是,当我尝试获取该单元格的值时,它总是报告null或根本不报告。我查看了几个来源并以同样的方式完成了我的代码,但没有运气。这是我的代码:

$("td").each(function () {
    var setName = $(this).find("#headerName").text();
    alert(setName);
    if (setName != weaverSet) {
        $(this).hide();
    }

weaverSet正在从下拉列表中获取它的值并正常工作。这是我要获取的表格部分的代码:

 <td id ="headerName">
     @item.WeaverSetName
 </td>

对此问题的任何帮助表示赞赏。

4

4 回答 4

0

尝试在不调用 find 函数的情况下获取 td 的值。在你的循环里面得到这样的值

var setName = $(this).text();
于 2013-01-03T17:28:59.957 回答
0

根据您的问题,您很可能应该为 headerName 使用一个类,而不是一个 ID(您的页面上应该只有一个)。

然后,您可以执行相同的迭代。

$("td").each(function () {
     var setName = $('.headerName',this).text();
     alert(setName);
     if (setName != weaverSet) {$(this).hide();}
});

例子

或者因为它们只是元素,您应该能够从它们中完全提取文本以及它们的内容:

$("td").each(function()
{
     var setName = $(this).text();
     alert(setName);
}

例子

于 2013-01-03T17:29:38.597 回答
0

你应该使用filter("#headerName")而不是find("#headerName")

您已经在遍历所有单元格。find在每个单元格内查找具有和 id 的headerName单元格。您可能想要的是检查当前单元格是否具有使用filter()函数完成的 id。

于 2013-01-03T17:32:04.943 回答
0

只有当 #headerName 单元格位于另一个<td>. <td>ID headerName只有一个吗?如果是这样,这应该有效(没有 .each() 围绕它):

var cell= $("#headerName");
var setName = cell.text();
            alert(setName);
            if (setName != weaverSet) {
                $(cell).hide();
            }

如果不是,那就有问题了,因为 ID 必须是唯一的,在这种情况下您应该使用类。

于 2013-01-03T17:34:21.763 回答