Javascript jQuery数据的问题

Javascript jQuery数据的问题,javascript,jquery,attributes,Javascript,Jquery,Attributes,我有点挣扎。我正试图利用为元素指定自定义属性这一很酷的特性。但是它不起作用 基本上,我试图将多个元素分配给该行中标识信息的TR元素。下面是它的外观: for (x=0; x< theData.length; x++) { // create table row var selector = "wc_" + wID + "_row_" + x; oRow = document.createElement("TR"); oRow.setAttribute("i

我有点挣扎。我正试图利用为元素指定自定义属性这一很酷的特性。但是它不起作用

基本上,我试图将多个元素分配给该行中标识信息的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"));
                }
            }
        }
    }
}
for(x=0;x
我遗漏了一些不太相关的代码,但我希望你能理解。我想做的是:

我有一个数组,其中包含关于特定数据行的“标识”信息。它可以有0个、1个或更多这样的标识块。我想将它们作为自定义数据属性存储在
元素上

每个数据都有一个不同的
(例如:
i_0_1
,其中
0
是数据行号,
1
是标识计数器) 然而,我不能让它工作。我尝试过很多选择,甚至尝试求助于
.attr()
,但运气不佳。我做错了什么


我收到一个警报,上面写着
未定义
。当我尝试
myrow.attr(“test”,“works”)路由我可以在DOM中看到属性。为什么
data()
的方法对我不起作用?

我刚刚知道问题出在哪里。我猜在阅读了jQuery.data()上的文档之后,我没有看到任何人真正清楚地站出来说:

当您查看源代码时,将不会在DOM元素中看到数据信息

值得赞扬的是,这里的每个人都告诉我,我只是不知道我在读什么(现在我知道了预期的结果)

马特写道: 我不会实际设置元素的属性或属性;jQuery将此数据存储在内部缓存中,只将其映射到所选元素

虽然在使用了.attr()和setAttribute()函数之后,我变得更加困惑


谢谢大家

它的作用是什么?请注意,设置
data()
实际上不会在元素上设置属性或属性;jQuery将此数据存储在内部缓存中,并仅将其映射到所选元素。此外(这与您的问题无关,但仅供参考),您应该使用
var
声明变量,否则它们将最终成为隐式全局变量,这是不好的。