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

あなたの質問に基づいて、おそらく ID ではなく、 headerName のクラスを使用する必要があります(ページには1つしかないはずです)。

その後、同じ反復を実行できます。

$("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 を持つものは1 つだけですか? もしそうなら、これはうまくいくはずです (.each() が周りになくても):

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

そうでない場合、ID は一意である必要があり、その場合はクラスを使用する必要があるため、問題があります。

于 2013-01-03T17:34:21.763 に答える