Javascript RemoveChild不起作用

Javascript RemoveChild不起作用,javascript,tinymce,Javascript,Tinymce,我在使用javascript removeChild函数时遇到问题。 这是我的剧本: ////function to add element by ID//// var i=1; $("#buttonAdd").live('click',function() { $("#list1 li:last-child").parent().append('<li>'+

我在使用javascript removeChild函数时遇到问题。 这是我的剧本:

    ////function to add element by ID////
        var i=1;
        $("#buttonAdd").live('click',function() { 
        $("#list1 li:last-child").parent().append('<li>'+
                                                    '<label for=njajal[]>njajal'+
                                                    '<textarea  class="tinymce" name="njajal[]" id="aaa'+i+'"></textarea>'+
                                                    '<span><a class="delIt" id="'+i+'"><b>Hapus</a></span></label>'+
                                                '</li>');
        tinyMCE.execCommand('mceAddControl', false, 'aaa'+i);
        console.log('add '+i);
        i++;
    }); 

    ////Function to delete element by ID/////
    function delIt(eleId)  
    {
        d = document;  
        var ele = d.getElementById(eleId);  
        var parentEle = d.getElementById('njajal');  
        parentEle.removeChild(ele);  
    }
///按ID添加元素的函数////
var i=1;
$(“#buttonad”).live('click',function(){
$(“#list1 li:last child”).parent().append(“
  • ”+ “njajal”+ ''+ “哈布斯”+ “
  • ”); tinyMCE.execCommand('mceAddControl',false,'aaa'+i); console.log('add'+i); i++; }); ////函数按ID删除元素///// 函数delIt(eleId) { d=文件; var ele=d.getElementById(eleId); var parentEle=d.getElementById('njajal'); 父母移除儿童(ele); }
    有什么问题

    以下是HTML代码:

    <div id="form">
        <form method="post" action="">
            <fieldset>
                <ol id="list1">
                    <li>        
                        <label for="njajal[]">njajal
                            <textarea name="njajal[]" class="tinymce" ></textarea>
                        </label>
                    </li>
                </ol>
                <div id="addOpt">
                    <a id="buttonAdd" class="bt"><b>Tambah</a>
                </div> 
            </fieldset>
        </form>
    </div>
    
    
    
  • njajal
  • 坦巴
    镜头:

    您在第一个函数中使用jQuery,因此删除该元素的最简单方法是使用jQuery:

    $('#myElementID').remove();
    
    以下是如何使用纯javascript完成同样的任务:

    var myElement = document.getElementById('myElementID');
    myElement.parentNode.removeChild(myElement);
    

    在第一个函数中使用jQuery,因此删除该元素的最简单方法是使用jQuery:

    $('#myElementID').remove();
    
    以下是如何使用纯javascript完成同样的任务:

    var myElement = document.getElementById('myElementID');
    myElement.parentNode.removeChild(myElement);
    
    编辑:

    要使事情变得更简单,请将
    读为“的孩子:

    从我所能看出的问题是
    textarea>label>li>ol
    。实际具有id的唯一元素是
    ,因此要删除标签(如图所示),请将delIt更改为:

    function deleteLabelTextArea(){
       var elementRemove = document.getElementById("list1").firstElementChild.firstElementChild;
       elementRemove.parentNode.removeChild(elementRemove);
    }
    
    旧答案:


    由于我们看不到HTML,我不确定问题出在哪里,除了Marc B提到“njajal”不是eleID的父项之外。要解决这个问题,我建议:

    function delIt(eleId){
       var ele = document.getElementById(eleId);
       ele.parentNode.removeChild(ele);
    }
    
    编辑:

    要使事情变得更简单,请将
    读为“的孩子:

    从我所能看出的问题是
    textarea>label>li>ol
    。唯一实际具有id的元素是
    ,因此要删除标签(如图所示),请将delIt更改为:

    function deleteLabelTextArea(){
       var elementRemove = document.getElementById("list1").firstElementChild.firstElementChild;
       elementRemove.parentNode.removeChild(elementRemove);
    }
    
    旧答案:


    由于我们看不到HTML,我不确定问题出在哪里,除了Marc B提到“njajal”不是eleID的父项。要解决这个问题,我建议:

    function delIt(eleId){
       var ele = document.getElementById(eleId);
       ele.parentNode.removeChild(ele);
    }
    

    目前提出的解决方案无法奏效,因为tinymce不是textarea!! Tinymce使用指定html元素的内容进行初始化,在本例中为textarea。初始化后,将创建一个带有contenteditable主体的iframe,用户可以在其中编辑html内容

    为了摆脱tinymce编辑器,您需要先关闭它:

    tinymce.execCommand('mceRemoveControl', false, 'content'); // your textarea got no id, then tinymce uses 'content' as default editor id
    
    其次,您可以删除初始html元素,如
    label
    textarea
    ,正如其他问题解决方案所示

    我只是想知道为什么你的页面上有两个tinymce编辑器?
    对我来说,您可能更喜欢只初始化其中一个,而不是在之后删除第二个。

    目前提供的解决方案不起作用,因为tinymce不是textarea!! Tinymce使用指定html元素的内容进行初始化,在本例中为textarea。初始化后,将创建一个带有contenteditable主体的iframe,用户可以在其中编辑html内容

    为了摆脱tinymce编辑器,您需要先关闭它:

    tinymce.execCommand('mceRemoveControl', false, 'content'); // your textarea got no id, then tinymce uses 'content' as default editor id
    
    其次,您可以删除初始html元素,如
    label
    textarea
    ,正如其他问题解决方案所示

    我只是想知道为什么你的页面上有两个tinymce编辑器?
    对我来说,您可能更喜欢只初始化其中一个节点,而不是随后删除第二个节点。

    njajal是“eleID”节点的直接子节点吗?它必须是直接的父子关系-如果两个节点之间有其他层,则不能使用removeChild。请告诉我们您试图实现什么?我想使用TinyMCE删除textarea,但我遇到了问题。我已经添加了脚本和HTML以及他的照片。。请支持它。@MarcB:那我该用什么?我是个新手这里是“njajal”是“eleID”节点的直接孩子吗?它必须是直接的父子关系-如果两个节点之间有其他层,则不能使用removeChild。请告诉我们您试图实现什么?我想使用TinyMCE删除textarea,但我遇到了问题。我已经添加了脚本和HTML以及他的照片。。请支持它。@MarcB:那我该用什么?我是个新手here@Zaguza此编辑是否解决了您的问题?@Zaguza此编辑是否解决了您的问题?如果您可以显示使用完整的tinymce init配置,可能会有所帮助如果您可以显示使用完整的tinymce init配置,可能会有所帮助