jquery.data返回未定义的结果

ran*_*xyz 2 javascript jquery attributes attr custom-data-attribute

我正在尝试使用该jquery.data方法从节点服务器中检索一堆项目的ID,并将其作为attror 保存为每个项目,data并在以后用于更新项目。

但是该属性始终返回“未定义”。
我试过了.data.attr两者都有相同的结果。详细说明:我想做的是从服务器中获取元素列表,为每个动态创建li标签,然后以某种方式将来自服务器的ID嵌入到每个创建的HTML元素中,作为自定义属性或ID。我究竟做错了什么?还有另一种方法吗?

var test = "<p>Hello</p>";
$(test).data("id", 1);
console.log($(test).data("id")); //undefined
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

Sur*_*yan 5

$(test)创建一个对象。因此,当您要记录时id,您正在创建另一个对象并尝试读取该对象data-id,而该对象不存在。创建对象引用并将其保留在单独的变量中,并在其余部分中使用该引用。

var test = "<p>Hello</p>"
var jTest = $(test);
jTest.data("id", 1);
console.log(jTest.data("id"))
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)