有人可以帮我看一下下面的屏幕截图并解释以下内容:
- 到底是怎么回事?
- 我如何以编程方式检测它?
- 我如何以编程方式修复/摆脱它?
我相信发生的事情是我在一个单一的文本节点中有多个文本节点pre
element...我感觉很多年前我在MDN上读到这样的事情是可能的,但我以前从未遇到过这样的事情。
jQuery 没有通过以下方式透露任何异常情况text()
or html()
(我在控制台中尝试两者,如屏幕截图所示)...它只是显示合并到单个节点中的所有文本节点的内容。
未显示的是,当我尝试在控制台中手动修复此问题时,可以执行以下操作:
$('pre').text($('pre').text())
不是将所有文本节点替换为单个文本节点,并将所有 3 个文本节点的内容合并为一个,它仅替换第一个文本节点的内容与所有 3 的内容。
所有这些真的让我感到困惑,我找不到任何有关这方面的文档,所以如果有人能够回答我的上述问题,我将非常感激。
哦,因为我知道有人会问我是怎么做到的,答案是我不太确定我做了什么。这与我的meteor项目的html和js之间的循环有关,我认为:
在我的 html 中我有这个:
<pre class="editable" contentEditable="true">{{text}}</pre>
在我的 javascript 中我有这个:
"input pre": function (event) {
var newText = $(event.target).text();
Ideas.update(this._id, {$set: {text: newText}});
}
所以流星会自动检查更改text
在我的数据库中并将最新的副本放入我的pre
。它还会看到用户何时编辑pre
并编辑text
在数据库中。以某种方式执行此操作,有时会产生您在上图中看到的内容(有时会产生其他奇怪的行为。)