【发布时间】:2019-02-07 12:11:42
【问题描述】:
在这种情况下,当我们在表格单元格中键入一些文本时,它只是简单的文本,例如:
<td>some text</td>
但是如果我按下回车键来中断文本,第一行和下一行将得到<p>。例如:
<td>
<p>some text</p>
<p>second text after break</p>
</td>
我想要得到的是在<p> 中包装文本,因为我开始输入时。所以结果是:
<td><p>some text</p></td>
有什么想法吗?下面是这部分的一段代码。
updateTableCells: function(richText) {
var that = this,
tdEl = richText.querySelectorAll('td');
[].forEach.call(tdEl, function(td) {
if (!td.children.length) {
that.applyParagraph(td);
}
});
},
applyParagraph: function(element) {
var newPar = document.createElement('p');
newPar.innerHTML = element.innerHTML;
element.innerHTML = '';
element.appendChild(newPar);
},
parseRichTextContent: function(richText) {
var par = richText.querySelectorAll('p'),
orderedLists = richText.querySelectorAll('ol'),
unorderedLists = richText.querySelectorAll('ul');
[].forEach.call(par, function (paragraph) {
if (paragraph.classList.length) {
paragraph.classList.add('class-par16');
}
});
[].forEach.call(orderedLists, function(ol) {
ol.classList.add('listwall');
});
[].forEach.call(unorderedLists, function(ul) {
ul.classList.add('ulistwall');
});
},
【问题讨论】:
-
似乎您正在使用富文本编辑器插件来更新
值。最好加个fiddle让你的问题更清楚
标签: javascript jquery html aem