0

少し苦労しています。カスタム属性を要素に割り当てるというクールな機能を利用しようとしています。しかし、それは機能していません。

基本的に、その行の情報を識別する TR 要素に複数の要素を割り当てようとしています。これは次のようになります。

for (x=0; x< theData.length; x++)
{
    // create table row
    var selector = "wc_" + wID + "_row_" + x;

    oRow = document.createElement("TR");
    oRow.setAttribute("id", selector);
    tBodyO.appendChild(oRow);
    var rowCount = 0;
    var identCnt = 0;
    for (var index in theData[x])
    {
        identCnt = 0;
        if (hasIdentify)
        {
            for (y=0; y < theIdent.length; y++)
            {
                console.log("ROW: "+x+" , checking: "+index+"  ===  "+theIdent[y]["data_name"]);
                if (index === theIdent[y]["data_name"])
                {
                    myrow = $("#" + selector);
                    //myrow.attr("test","works");
                    console.log("ident Dataname: "+theIdent[y]["data_name"]+ "  identify:"+theIdent[y]["identify"]+"   value: "+theData[x][index]);
                    jQuery.data( myrow, "test", { first: 16, last: "pizza!" });
                    alert(myrow.data("test"));
                }
            }
        }
    }
}

あまり関係のないコードは省略していますが、理解していただければ幸いです。私がやろうとしているのはこれです:

特定のデータ行に関する「ID」情報を含む配列があります。そのような ID ピースを 0 個、1 個、またはそれ以上持つことができます。<TR>これらを要素のカスタム データ属性として保存したいと考えています。

各データには個別の値がありますkey(例:i_0_10データ行番号で1あり、ID カウンターは です)。ただし、これを機能させることはできません。.attr()運が悪いことに頼ろうとしても、多くの代替手段を試しました。私は何を間違っていますか??

というアラートが表示されますundefined。ルートを試すとmyrow.attr("test","works");、DOM に属性が表示されます。なぜそのdata()方法がうまくいかないのですか?

4

1 に答える 1

0

私は問題が何であるかを理解しました。jQuery.data() のドキュメントを読んだ後、誰も本当にはっきりと出てきて言っているのを見なかったと思います:

ソースを見ると、DOM要素にデータ情報は表示されません。

ここにいる全員の功績として、彼らは私に、何を読んでいるのかわからなかっただけだと言いました(何が期待されているかがわかったので)

Matt は次のように書いています。

.attr() および setAttribute() 関数をいじった後、私はさらに混乱しました。

みんな、ありがとう!

于 2013-03-07T22:13:08.917 に答える