“跨度”标签绑定问题与淘汰赛

时间:2012-05-08 04:04:16

标签: knockout.js html

我是Knockout的新手,无法解决这个问题。

HTML是:

<span data-bind="text: greetings" />
<input data-bind="value: firstname" />
<input data-bind="value: lastname" />
<span data-bind="text: greetings">Default 2</span>​

和相关的JS是

<script type="text/javascript">
$(document).ready(function () {
    var dv = document.getElementById('divMain');
    ko.applyBindings(new Vm());
});

function Vm() {
    this.greetings = ko.observable("hello world");
    this.firstname = ko.observable("firstname");
    this.lastname = ko.observable("lastname");
};
</script>

jsfiddle

问题是控件在第一个span标记(问候语)后没有被绑定。

但是如果我将span标记括在一些div中,那么绑定适用于每个控件。

这种行为常见吗?为什么超出第一个跨度的控件不会绑定?。

干杯,

1 个答案:

答案 0 :(得分:2)

啊,只有少数标签可以在html中自动关闭,如果您将文档作为MIME类型application/xhtml+xml提供,它可能会起作用... This question有一些好的信息。检查this,您可以看到所有跨度都是嵌套的。

This适合我...