获取CKEDITOR 4中段落的ID

时间:2013-12-17 09:35:20

标签: jquery ckeditor

这是一个非常简单的JavaScript调用:

CKEDITOR.instances.yourEditorInstance.getData() 

返回:

<p id="rand_dom_123">Python A B C</p>
<p id="rand_dom_852">PHP A B C D E F</p>

然而:

CKEDITOR.instances.yourEditorInstance.editable().getText() 

返回:

Python A B C
PHP A B C D E F

这是我的代码:

$('.jquery_ckeditor').ckeditor(config);

    CKEDITOR.instances['editor'].on('blur', function() {                
        var html_content = CKEDITOR.instances['editor'].getSelection().getSelectedText() ;
        alert(html_content);
    });

如何获取所选段落的ID?示例我可以在选择A B C

时知道其段落ID

2 个答案:

答案 0 :(得分:1)

这是你的最新小提琴..

http://jsfiddle.net/wfLPg/1/

Jquery的:

var editor = CKEDITOR.instances['my-editor'];
var value = CKEDITOR.instances['my-editor'].editable().getText();
alert(value); // will return both p element texts

var firstPElement = $(editor.editable().$).find('p:eq(0)'); // will select first p element
alert(firstPElement.attr("id")); // will get first p element ID

var secondPElement = $(editor.editable().$).find('p:eq(1)'); // will select second p element
alert(secondPElement.attr("id")); // will get second p element ID

注意:$(editor.editable().$): - 检索编辑器可编辑区域的本机DOM元素,以便将jquery用作元素

答案 1 :(得分:1)

您可以访问文档DOM

CKEDITOR.instances['editor'].on('blur', function() {                
        var html_content = CKEDITOR.instances['editor'].document.$.getElementById('myId') ;
        alert(html_content);
});

或者您可以使用CKEDITOR DOM

var element = new CKEDITOR.dom.element( document.getElementById( 'myId' ) );

--- ---更新

如果您只想要选择而不是range

var ranges = CKEDITOR.instances['editor'].getSelection().getRanges();

for (var i = 0, len = ranges.length; i < len; ++i) {
    //dig into ranges[i]
}