我知道我可以在dom中使用以下语法创建绑定:
<span id="namespan" data-bind="text: personName">
这里的工作示例:https://jsfiddle.net/m14mohda/
但是我可以在js中创建这样的span元素吗?即使用类似的东西:
createSpans = function (){
var s = document.createElement('span')
s.id = "namespan"
s.data-bind ="text: personName" -----> ????
document.body.appendChild(s)
}
答案 0 :(得分:0)
DOM Element API提供了两种方法。应该使用任何自定义属性的更通用的方法是使用setAttribute
方法。
var s = document.createElement('span');
s.setAttribute("someAttribute", "someValue");
s.setAttribute("data-bind", "text: personName");
document.body.appendChild(s);
创建元素
<span someAttribute="someValue" data-bind="text: personName"></span>
特别是对于 data - 前缀的属性,规范包括速记属性访问器dataset
。
var s = document.createElement('span');
s.dataset.someAttribute = "someValue"; // won't work as expected
s.dataset.bind = "text: personName";
document.body.appendChild(s);
创建元素
<span data-someAttribute="someValue" data-bind="text: personName"></span>
因此,您可以看到dataset
将数据 - 前缀视为已授予。然后,可以通过剥离数据 - 部分,通过dataset
访问和分配 data - 属性值。