【发布时间】:2018-06-02 11:00:51
【问题描述】:
我需要在我的 CKEditor 中使用一些不可编辑的样板语句,然后是我的字符串信息的其余部分。我将样板语言[在 p 标签中]连接到我的 CKEditor 在某个 div 中显示的字符串变量。到白话的时候,这里:
<p id='abc' contentEditable='false'>verbiage</p>
... 并且字符串信息显示在页面上,它们位于许多嵌套标签的深处 - 在具有多个类的主体中。因此,现在仅在没有属性的 ap 标记中 [它们被剥离] 的措辞都嵌套在原始正文标记 [第一个正文标记,在页面中向上] 中,有很多很多 div,然后终于来了一个iframe,然后……字面意思和字符串是这样的:
<body contenteditable="true" class="cke_editable cke_editable_themed cke_contents_ltr cke_show_borders" spellcheck="false">
<p>boilerplate verbiage</p>
...然后其余信息显示在编辑器中,在各种跨度内等。我需要使样板语言只读,contentEditable='false'。然而,我从 Chrome 中的控制台和代码中尝试的所有内容......没有任何改变样板语言
标签。我尝试了各种方法,包括这些——也许你可以看到我需要调整的地方;我希望这将向您展示我尝试过的事情,并且到目前为止我已经没有选择了:
jQuery("body.cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders").first().contentEditable='false';
jQuery("body.cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders").attr("readonly", "1");
jQuery("body.cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders p:first-child").contentEditable='false';
jQuery("body.cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders").find( "p" ).contentEditable='false';
jQuery("iframe", ".cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders").contents().find("p").contentEditable='false';
jQuery("iframe", "body .cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders").contents().find("p").contentEditable='false';
var editor= jQuery("body", ".cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders");
editor.val(editor.val().replace(/<p>/gi, "<p class='tiny_p'>"))
var editor= jQuery("body.cke_editable.cke_editable_themed.cke_contents_ltr.cke_show_borders");
editor.val(editor.val().replace(/<p>/gi, "<p class='tiny_p'>"))
如果我在 Chrome 浏览器中硬编码,contenteditable="false", 它完美地工作。那么,我怎样才能访问那个 p 标签并为其分配这个属性呢?
【问题讨论】:
标签: javascript jquery ckeditor contenteditable readonly