DOM 树中显示的一些属性但仍在工作
some attributes some shown in DOM tree but still working
meteor 新手,我正在使用 meteor.js 创建一个像 this 这样的简单项目
我使用 <input value="{{counter}}" />
创建了这个显示与 paragraph.And 一致的值的输入框,如您所见,它工作正常。
然而,当我在 chrome 的开发工具中检查 DOM 树时,我看到 <input>
而不是我想象的 <input value="1">
。
为什么在 DOM 树中属性值不可见?同时,谁能解释为什么我在 DOM 中找不到值属性,但在输入框中可以看到数字树?
这是因为 Meteor 在构建时将所有模板的 js 和 html 文件打包在同一个 javascript 文件中。
然后 DOM 仅通过 javascript 进行操作。通过 javascript 对 DOM 元素所做的许多更改不会显示在浏览器的控制台中。例如,尝试使用 jQuery data()
更改元素的数据属性,您将看不到任何新的 data-...
属性,如果您通过键入 $('input').val('some value')
更改输入的值也是如此在控制台中,值会改变,但 value
属性不会显示。
如果你在你的例子中打开控制台(假设你正在使用Chrome,按F12)并切换到"Sources"然后打开唯一的名为'36dcbdf8917964892be8bca43c71d137318461f5.js的js文件' 你会看到 input
的值是通过 javascript 设置的(在第 82 行):
...
HTML.INPUT({value:function(){return Spacebars.mustache(e.lookup("counter"))}})
...
meteor 新手,我正在使用 meteor.js 创建一个像 this 这样的简单项目
我使用 <input value="{{counter}}" />
创建了这个显示与 paragraph.And 一致的值的输入框,如您所见,它工作正常。
然而,当我在 chrome 的开发工具中检查 DOM 树时,我看到 <input>
而不是我想象的 <input value="1">
。
为什么在 DOM 树中属性值不可见?同时,谁能解释为什么我在 DOM 中找不到值属性,但在输入框中可以看到数字树?
这是因为 Meteor 在构建时将所有模板的 js 和 html 文件打包在同一个 javascript 文件中。
然后 DOM 仅通过 javascript 进行操作。通过 javascript 对 DOM 元素所做的许多更改不会显示在浏览器的控制台中。例如,尝试使用 jQuery data()
更改元素的数据属性,您将看不到任何新的 data-...
属性,如果您通过键入 $('input').val('some value')
更改输入的值也是如此在控制台中,值会改变,但 value
属性不会显示。
如果你在你的例子中打开控制台(假设你正在使用Chrome,按F12)并切换到"Sources"然后打开唯一的名为'36dcbdf8917964892be8bca43c71d137318461f5.js的js文件' 你会看到 input
的值是通过 javascript 设置的(在第 82 行):
...
HTML.INPUT({value:function(){return Spacebars.mustache(e.lookup("counter"))}})
...