Jquery 提交前以编程方式编辑CKEditor的内容

Jquery 提交前以编程方式编辑CKEditor的内容,jquery,ckeditor4.x,Jquery,Ckeditor4.x,在提交之前,我无法通过编程方式编辑ckeditor的内容 我在html中输入了一个文件,让用户上传一个图像。正在通过执行以下操作将此图像插入到ckeditor实例中 CKEDITOR.instances['editor'].editable().insertHtml('<img class="image-content" width="350" height="450" src="' + image + '"' />'); 根据我的发现,ckeditor的内容包含p标记列表。 因此

在提交之前,我无法通过编程方式编辑ckeditor的内容

我在html中输入了一个文件,让用户上传一个图像。正在通过执行以下操作将此图像插入到ckeditor实例中

CKEDITOR.instances['editor'].editable().insertHtml('<img class="image-content" width="350" height="450" src="' + image + '"' />');
根据我的发现,ckeditor的内容包含p标记列表。 因此,我循环遍历每个p标记,检查它是否包含img标记。如果是,则将其srcarrtibute替换为空字符串

我通过在最里面的循环后打印来检查内容,似乎每个img标记的src都没有被空字符串替换

有人知道为什么这样不行吗?还是我做错了什么

$(content).find('p img').attr('src','');
…将删除
src
属性。甚至
.find('img')
,如果您没有任何
属性


代码的潜在问题:

  • 在两个嵌套的
    。each()
    调用中使用相同的标识符(
    index
    )<不要
    嵌套时使用不同的迭代器(
    i
    +
    j
    a
    +
    b
    i0
    +
    i1
    +…)
  • 作为引用传递给
    。each()
    的元素已经是jQuery包装器,您不必再次包装它们。i、 e:
。每个函数(索引,p){
p、 find('img')//而不是$(p)。find('img')!
...
}

um,难道
p
&
img
不应该被引号包围吗?文档:我将内容作为jquery实例创建,并分配给一个额外变量“var tmp=$(content);”。操纵这个“tmp”按照我的预期工作,但我不知道为什么。哈哈,谢谢你的回答。这很有帮助。这是因为jQuery包装器与其包装的元素不同。当包装器不是元素的集合时,
DOM
元素位于包装器的
0
属性内。编码快乐!
$(content).find('p img').attr('src','');