我有一个页面,想要使用TinyMCE编辑页面上的某些元素。当我尝试编辑以下元素时,tinyMCE内部加载的实际内容如第2列所示

Original : As loaded in MCE
<dd>1234<span></span></dd> : 1234<span></span>
<tr><td><label>A</label></td><td>B</td></tr> : <label>A</label>B


我知道正在进行一些html验证来检查父子元素之间的关系(例如,仅当有表作为父时,tr才应出现)。有没有一种方法可以告诉tinyMCE停止这样做,并允许我直接编辑tr元素而无需编辑完整的表元素。即我想停止tinyMCE对加载的HTML进行任何更改,无论其是否有效。

另外,我尝试了verify_html和valid_elements设置,但似乎在这里没有帮助

谢谢

最佳答案

你有两个选择


您使用cleanup: false, tinymce init设置将
禁用html检查


或者你可以使用更好的选择

2 ..并定义编辑器应接受哪些元素和子元素为有效元素

在您的情况下,您的valid_elements确实不需要更新,因为默认情况下trtdlabel已经是有效元素(但您可以根据需要将它们定义为无效)。
您需要做的是将它们作为有效子代添加到valid_children设置中。
如果要将tr标签定义为p标签和其他元素的有效子元素,则需要设置以下内容

    valid_children: "body[p|ol|ul]" +
    ",p[a|span|b|i|u|sup|sub|img|hr|#text|tr|td|label]" +
    ",span[a|b|i|u|sup|sub|img|#text|tr|td|label]" +
    ",a[span|b|i|u|sup|sub|img|#text|tr|td|label]" +
    ",b[span|a|i|u|sup|sub|img|#text|tr|td|label]" +
    ",i[span|a|b|u|sup|sub|img|#text|tr|td|label]" +
    ",sup[span|a|i|b|u|sub|img|#text|tr|td|label]" +
    ",sub[span|a|i|b|u|sup|img|#text|tr|td|label]" +
    ",li[span|a|b|i|u|sup|sub|img|ol|ul|#text]" +
    ",ol[li]" +
    ",ul[li]",

10-04 21:33
查看更多