Javascript jQuery数据的问题
我有点挣扎。我正试图利用为元素指定自定义属性这一很酷的特性。但是它不起作用 基本上,我试图将多个元素分配给该行中标识信息的TR元素。下面是它的外观: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
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
声明变量,否则它们将最终成为隐式全局变量,这是不好的。