一些属性在DOM树中显示但仍然有效

时间:2015-08-12 10:29:50

标签: meteor meteor-blaze

meteor的新手,我使用meteor.js创建一个像this这样的简单项目 我使用<input value="{{counter}}" />来创建此输入框,显示与段落一致的值。并且它正常工作,如您所见。

然而,当我在chrome的开发工具中检查DOM树时,我看到<input>而不是<input value="1">,因为我认为它会是。

为什么DOM树中的属性值不可见?同时,有人可以解释为什么我可以在输入框中看到数字,即使我无法在DOM树中找到value属性吗?

1 个答案:

答案 0 :(得分:1)

这是因为Meteor在构建时将所有模板的js和html文件打包在同一个javascript文件中。 然后DOM只通过javascript操作。通过javascript对DOM元素进行的大量更改不会显示在浏览器的控制台中。例如,尝试使用jQuery data()更改元素的数据属性,如果通过在控制台中键入data-...来更改输入值,则不会看到任何新的$('input').val('some value')属性。该值将更改,但value属性不会显示。

如果您在示例中打开控制台(假设您使用的是Chrome,请按F12)并切换到“Sources”,然后打开名为“36dcbdf8917964892be8bca43c71d137318461f5.js”的唯一js文件,您将看到{的值{1}}通过javascript设置(第82行):

input