jQuery .data()不会更新HTML5数据属性 [英] jQuery .data() does not update HTML5 data attributes
本文介绍了jQuery .data()不会更新HTML5数据属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用jQuery向div添加"数据绑定"属性,如下所示:
I am trying to add a "data-bind" attribute to a div using jQuery as follows:
var messageViewModel = {
data: ko.observable({
message: response.message,
sendDateFmted: response.sendDateFmted,
messageId: response.messageId
})
};
$("<div>",{
class:"messageToAndFromOtherMember"
}).data("bind", "template: { name: 'message-template', data: data }").appendTo("#messagesToAndFromOtherMember");
ko.applyBindings(messageViewModel);
KnockoutJs需要
"数据绑定".但是我得到的只是这个空的div:
"data-bind" is required by KnockoutJs. However all I get is this empty div:
<div class="messageToAndFromOtherMember"></div>
请注意,没有诸如data-bind
这样的属性,因此div保持为空...
Notice there is no such attribute as data-bind
and therefore the div remains empty...
推荐答案
jQuery的 .data()
将值存储在内存中并使用data-*
属性进行初始化.您可能希望坚持在创建元素时进行设置.
jQuery's .data()
stores the values in-memory and uses data-*
attributes for initialization. You may want to stick by setting it at element creation.
$("<div/>", {
class: "messageToAndFromOtherMember",
"data-bind": "template: { name: 'message-template', data: data }"
}).appendTo("#messageToAndFromOtherMember");
这篇关于jQuery .data()不会更新HTML5数据属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文