我在使用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);
}有什么问题吗?
下面是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>截图:

发布于 2012-02-17 13:29:54
您在第一个函数中使用了jQuery,因此删除该元素的最简单方法是使用jQuery:
$('#myElementID').remove();下面是你如何用普通的javascript来完成同样的事情:
var myElement = document.getElementById('myElementID');
myElement.parentNode.removeChild(myElement);发布于 2012-02-17 13:32:47
编辑:
为了简单起见,请将>读作“的子级:
据我所知,问题是textarea > label > li > ol。唯一实际具有id的元素是<ol>,因此要删除标签(如图所示),请将delIt更改为:
function deleteLabelTextArea(){
var elementRemove = document.getElementById("list1").firstElementChild.firstElementChild;
elementRemove.parentNode.removeChild(elementRemove);
}老生常谈:
由于我们看不到超文本标记语言,除了Marc B提到'njajal‘不是eleID的父元素之外,我不确定问题出在哪里。要解决这个问题,我建议:
function delIt(eleId){
var ele = document.getElementById(eleId);
ele.parentNode.removeChild(ele);
}发布于 2012-02-17 16:46:58
到目前为止提出的解决方案都不起作用,因为tinymce不是文本区域!!Tinymce使用指定的html元素的内容进行初始化-在本例中是一个文本区域。在初始化之后,创建具有可内容编辑主体的iframe,其中用户可以编辑html内容。
为了摆脱tinymce编辑器,你需要首先关闭它:
tinymce.execCommand('mceRemoveControl', false, 'content'); // your textarea got no id, then tinymce uses 'content' as default editor id其次,您可以删除初始的html元素,如label和textarea作为您的问题显示的其他解决方案。
我只是想知道为什么你的页面上有两个小编辑器?对我来说,看起来你可能更喜欢只初始化其中一个,而不是在之后删除第二个。
https://stackoverflow.com/questions/9323215
复制相似问题