如何解决如何从div中删除元素?
|var aa = 0;
var arr = new Array(\"one\",\"two\",\"three\");
var arr1 = new Array(\"four\",\"five\",\"six\");
function cl(me) {
me.clicked = !me.clicked;
var id = me.id;
if (me.clicked) {
if (id == 1000) aa = arr;
if (id == \"one\" || id == \"two\" || id == \"three\") aa = arr1;
var s = document.getElementById(\"sample\");
var d = document.createElement(\"div\");
d.id = me.id + 1;
s.appendChild(d);
for (i = 0; i < aa.length; i++) {
var l = document.createElement(\"label\");
l.innerHTML = aa[i];
l.id = aa[i];
l.onclick = function (){cl(this)};
d.appendChild(l);
}
} else {
var child = document.getElementById(me.id + 1);
var parent = document.getElementById(\"sample\");
parent.removeChild(child);
}
}
标记:
<label id=\"1000\" onclick=\"cl(this)\">click</label><br><div id=\"sample\"></div>
单击标签“单击”时,将成功生成三个标签“一个” \“两个” \“三个”。
当我单击标签\“一个\”标签\“四个\” \“五个\” \“六个\”成功生成。
当我再次单击标签“一个”,“三个四个五个”标签时,将被删除。
但是问题是当我单击标签\“ click \”,然后再标签\“ one \” ..现在,当我再次单击\“ one \”时,标签“一二三”被单独删除,而没有被删除“四”五六”。
解决方法
HTML标签元素没有clicked属性,因此给它们提供clicked属性不是一个好主意。
标签用于没有标签或标题的表单控件,例如单选按钮和复选框。这里更合适的元素是按钮(按钮或输入类型按钮元素)。
ID属性必须以字母开头,不能全部为数字。
浏览器可以忍受以上所有情况,但是,忽略规范不是一个好主意,因为可能会发布符合您规范的浏览器,而您的代码却没有遵守规范。
我认为您的问题是,由一个创建的标签看起来就像由四个创建的标签一样。如果您通过单击一个来删除四个,则无法删除它创建的标签,直到再次创建它。
使用元素检查器查看正在发生的事情。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。