我有一个页面,想要使用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确实不需要更新,因为默认情况下tr
,td
和label
已经是有效元素(但您可以根据需要将它们定义为无效)。
您需要做的是将它们作为有效子代添加到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]",