Javascript 向自行创建的HTML对象添加数据

Javascript 向自行创建的HTML对象添加数据,javascript,jquery,html,Javascript,Jquery,Html,这有什么不起作用的原因吗 var link = $('<a href="#" class="choose-delivery-pickup">Kies</a>'); link.data('name', address.name); link.data('street', address.street); link.data('number', address.nr); link

这有什么不起作用的原因吗

 var link = $('<a href="#" class="choose-delivery-pickup">Kies</a>');
            link.data('name', address.name);
            link.data('street', address.street);
            link.data('number', address.nr);
            link.data('zip', address.zip);
            link.data('city', address.city);

var message = $('<div style="min-width:150px;"><address><strong>' + address.name + '</strong><br>' + address.street + ' ' + address.nr + '<br>' + address.zip + ' ' + address.city + '</address>' + String(link) + '</div>');
var link=$('');
link.data('name',address.name);
链接数据(“街道”、地址、街道);
链接数据(编号、地址、编号);
link.data('zip',address.zip);
link.data('city',address.city);
var message=$(“”+address.name+”“+address.street+”+address.nr+”
“+address.zip+”+address.city+”+字符串(链接)+”);
返回:

    <div style="min-width:150px;" class="">
      <address>
        <strong>John</strong><br>
          Street 81<br>
          Doe Doe
      </address>
      [object Object]
    </div>

约翰
81街
母鹿 [对象]
地址参数用普通字符串填充,因此没有问题。

如果您希望属性将由该代码添加,则
数据
不会这样做<代码>数据从不写入
数据-*
属性,它只是将它们用于初始化。初始化后,由
data
data-*
属性管理的数据之间没有连接

如果需要属性,请使用
link.attr(“数据名”,address.name)

但是,如果您只是担心在检查元素时看不到元素上的数据,但是您很高兴使用
数据
,那么您的代码确实有效。jQuery以DOM检查器中未显示的方式管理数据缓存。例如:

var address={name:“address name”};
变量链接=$('');
link.data('name',address.name);
显示(link.data('name'));//“地址名”
功能显示(msg){
$(“”).html(字符串(msg)).appendTo(document.body);
}
定义“不工作”。你期望什么样的行为?你有什么行为?