Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以修改此选项以删除所有<;img>;在添加新标签之前添加标签_Javascript_Html_Ckeditor - Fatal编程技术网

Javascript 是否可以修改此选项以删除所有<;img>;在添加新标签之前添加标签

Javascript 是否可以修改此选项以删除所有<;img>;在添加新标签之前添加标签,javascript,html,ckeditor,Javascript,Html,Ckeditor,我已经在下面包含了我的javascript的一部分,我想知道的是,一旦成功,它会向编辑器添加一个图像。但是,如何使它在添加新图像之前先从编辑器中删除所有图像 onComplete: function (file, json) { $('#upload-image').attr('disabled', false); $('.error-upload').remove(); if (json['success']) { alert(json['success']); v

我已经在下面包含了我的javascript的一部分,我想知道的是,一旦成功,它会向编辑器添加一个图像。但是,如何使它在添加新图像之前先从编辑器中删除所有图像

onComplete: function (file, json) {
  $('#upload-image').attr('disabled', false);
  $('.error-upload').remove();
  if (json['success']) {
    alert(json['success']);
    var oEditor = CKEDITOR.instances.forum_signature;
    var value = document.getElementById('forum_signature').value;
    if (oEditor.mode == 'wysiwyg') {
      oEditor.insertHtml('<img src="' + json['image'] + '" alt="Image" /><p>&nbsp;</p>');
    } else {
      alert('You must be in WYSIWYG mode!');
    }
  }
  if (json['error']) {
    $('#upload').after('<span class="error-upload" style="color:red;">' + json['error'] + '</span>');
  }
  if (json['error_size']) {
    $('#upload').after('<span class="error-upload" style="color:red;">' + json['error_size'] + '</span>');
  }
  $('.loading').remove();
}
onComplete:function(文件,json){
$(“#上传图像”).attr('disabled',false);
$('.error upload').remove();
if(json['success']){
警报(json['success']);
var oEditor=CKEDITOR.instances.forum_签名;
var值=document.getElementById('forum_signature')。值;
if(oEditor.mode=='wysiwyg'){
oEditor.insertHtml(“

”); }否则{ 警报(“您必须处于所见即所得模式!”); } } if(json['error']){ $('#upload')。在(''+json['error']+'')之后; } if(json['error_size']){ $('#upload')。在(''+json['error_size']+'')之后; } $('.loading').remove(); }
我成功地解决了一些问题。BasicCall我在CKEditor中使用了两种方法

getData(); setData()

首先,我从实例中获取数据。我将其附加到临时创建的dom元素。在那之后,我能够操纵内容。 在完成这些操作之后,我获取临时dom元素的html内容,并使用setData()将其放置在CKEditor中。这可能有点骇人,我不确定这是否真的是正确的方法,但它确实有效

编辑器的实例:

var forum_signature = CKEDITOR.replace('textAreaName');
var oEditor = CKEDITOR.instances.forum_signature

var jsonImage = 'images/img2.jpg';
var temp = $("<div/>", {
    id: "temp"
});

var data = oEditor.getData();
$(data).appendTo(temp);
// you now can traverse the "temp" element in the dom
$(temp).find("img").eq(0).remove();

// You can add html
$(temp).append('<img src=' + jsonImage + ' alt="Image" /><p>Hello World</p>');
var newData = $(temp).html();
$(temp).remove();
oEditor.setData(newData);
var forum_signature=CKEDITOR.replace('textAreaName');
var oEditor=CKEDITOR.instances.forum\u签名
var jsonImage='images/img2.jpg';
变量温度=$(“”{
id:“临时工”
});
var data=oEditor.getData();
$(数据)。附加到(临时);
//现在可以遍历dom中的“temp”元素
$(temp.find(“img”).eq(0.remove();
//您可以添加html
$(temp).append(“helloworld

”); var newData=$(temp.html(); $(temp.remove(); oEdit.setData(新数据);
我成功地解决了一些问题。BasicCall我在CKEditor中使用了两种方法

getData(); setData()

首先,我从实例中获取数据。我将其附加到临时创建的dom元素。在那之后,我能够操纵内容。 在完成这些操作之后,我获取临时dom元素的html内容,并使用setData()将其放置在CKEditor中。这可能有点骇人,我不确定这是否真的是正确的方法,但它确实有效

编辑器的实例:

var forum_signature = CKEDITOR.replace('textAreaName');
var oEditor = CKEDITOR.instances.forum_signature

var jsonImage = 'images/img2.jpg';
var temp = $("<div/>", {
    id: "temp"
});

var data = oEditor.getData();
$(data).appendTo(temp);
// you now can traverse the "temp" element in the dom
$(temp).find("img").eq(0).remove();

// You can add html
$(temp).append('<img src=' + jsonImage + ' alt="Image" /><p>Hello World</p>');
var newData = $(temp).html();
$(temp).remove();
oEditor.setData(newData);
var forum_signature=CKEDITOR.replace('textAreaName');
var oEditor=CKEDITOR.instances.forum\u签名
var jsonImage='images/img2.jpg';
变量温度=$(“”{
id:“临时工”
});
var data=oEditor.getData();
$(数据)。附加到(临时);
//现在可以遍历dom中的“temp”元素
$(temp.find(“img”).eq(0.remove();
//您可以添加html
$(temp).append(“helloworld

”); var newData=$(temp.html(); $(temp.remove(); oEdit.setData(新数据);
您可以执行以下操作:

$(oEditor).children("img").remove();
您可以这样做:

$(oEditor).children("img").remove();

以下几点应该行得通。它会在oEditor元素中查找所有
img
元素,并将它们从其父元素中删除

if ( oEditor.mode == 'wysiwyg' )
{
    // Create an array of img elements.
    imgs = oEditor.getElementsByTagName("img");
    // Remove each img from its parent node.
    for (var i=0; i<imgs.length; i++) {
        imgs[i].parentNode.removeChild(imgs[i]);
    }
    oEditor.insertHtml( '<img src="'+ json['image'] +'" alt="Image" /><p>&nbsp;</p>' );
}
else{
    alert( 'You must be in WYSIWYG mode!' );
}
if(oEditor.mode=='wysiwyg')
{
//创建一个img元素数组。
imgs=oEditor.getElementsByTagName(“img”);
//从其父节点删除每个img。
对于(VarI=0;i

'); } 否则{ 警报('您必须处于所见即所得模式!'); }
以下各项应能起作用。它会在oEditor元素中查找所有
img
元素,并将它们从其父元素中删除

if ( oEditor.mode == 'wysiwyg' )
{
    // Create an array of img elements.
    imgs = oEditor.getElementsByTagName("img");
    // Remove each img from its parent node.
    for (var i=0; i<imgs.length; i++) {
        imgs[i].parentNode.removeChild(imgs[i]);
    }
    oEditor.insertHtml( '<img src="'+ json['image'] +'" alt="Image" /><p>&nbsp;</p>' );
}
else{
    alert( 'You must be in WYSIWYG mode!' );
}
if(oEditor.mode=='wysiwyg')
{
//创建一个img元素数组。
imgs=oEditor.getElementsByTagName(“img”);
//从其父节点删除每个img。
对于(VarI=0;i

'); } 否则{ 警报('您必须处于所见即所得模式!'); }
oEdit
CKEDITOR.editor
类的一个实例。因此,这是正确的解决方案:

if ( oEditor.mode == 'wysiwyg' && oEditor.editable() ) {
    var images = oEditor.editable().getElementsByTag( 'img' );

    while ( images.count() ) {
        var image = images.getItem( 0 ); // This is a live collection.
        // Whether this is a real image, not e.g. anchor icon.
        if ( image.data( 'cke-saved-src' ) )
            image.remove();
    }
}

oEditor
CKEDITOR.editor
类的一个实例。因此,这是正确的解决方案:

if ( oEditor.mode == 'wysiwyg' && oEditor.editable() ) {
    var images = oEditor.editable().getElementsByTag( 'img' );

    while ( images.count() ) {
        var image = images.getItem( 0 ); // This is a live collection.
        // Whether this is a real image, not e.g. anchor icon.
        if ( image.data( 'cke-saved-src' ) )
            image.remove();
    }
}

正如我在上面尝试的那样,我应该把它放在哪里oEdit.insertHtml('

')oEdit.insertHtml('

')和所有图像remain@Ghodmode-当检查问题中的代码时,我有理由相信他正在使用jQuery。至于第二个论点,你有理论支持吗?我很抱歉。我误解了你的解决办法。我以为您建议将
src
属性设置为空字符串或不存在的URI,以使其不可见。不,只需替换它即可。既然标签已经在那里了,他想注入一个新的,移除它没有任何意义。。干杯;)@贾斯汀-对不起。CKEditor似乎确实需要定义的方法。在我看到的文档中,您可能必须使用CKEditor中的setData()方法:我在上面尝试的时候,将其放在哪里和所有图像remain@Ghodmode-当检查问题中的代码时,我有理由相信他正在使用jQuery。至于第二个论点,你有理论支持吗?我很抱歉。我误解了你的解决办法。我以为你在建议设置