Javascript 有人能解释一下我的删除按钮的功能吗?
以下是指向我的代码笔的链接,可查看我的所有代码: 我的问题与deleteButton函数有关。我很难理解这个概念 我为deleteButton(item)创建了一个函数。我只想知道变量remove中的“item”和“parentNode”代表什么?哪个是Javascript 有人能解释一下我的删除按钮的功能吗?,javascript,Javascript,以下是指向我的代码笔的链接,可查看我的所有代码: 我的问题与deleteButton函数有关。我很难理解这个概念 我为deleteButton(item)创建了一个函数。我只想知道变量remove中的“item”和“parentNode”代表什么?哪个是,哪个是 如蒙解释,不胜感激。谢谢 deleteButton(项目)附加到removeButton此表示按钮本身所在的当前节点 item.parentNode将只是按钮的父节点,该按钮是li元素remove变量保存此li元素 再次remove.p
,哪个是
如蒙解释,不胜感激。谢谢
deleteButton(项目)
附加到removeButton
<代码>此表示按钮本身所在的当前节点
item.parentNode
将只是按钮的父节点,该按钮是li
元素remove
变量保存此li
元素
再次remove.parentNode
将返回li
元素的父节点,该元素是ul
元素
从DOM中删除子节点
所以在这种情况下,UL_元素.removeChild(LI_元素)强>
在您的代码中(发布在场外)是很长的
function deleteButton(item) {
item.parentNode.parentNode.removeChild(item.parentNode);
}
从其祖辈节点的子节点列表中删除已单击项的父节点。“删除”按钮的父节点是代码中的listItem
,这意味着将删除LI
项
代码发布在场外的其他地方(不良做法™) delete函数定义为
removeButton.setAttribute('onclick', 'deleteButton(this);');
这真的非常有趣。它表明,在HTML解析完成后,使用文本设置onclick属性,会导致将文本解析为javascript函数的源代码,该函数将成为属性值。好的,所以setter可以做到这一点,但OneEvent setter做到这一点对我来说是新鲜事。测试表明这一点非常重要这是真的
因此,答案是使用text设置节点的onclick属性将文本编译为函数对象,将函数对象附加为onclick属性值,当通过单击调用时,该属性值将被单击的节点作为onclick处理程序的
此对象他单击了对象,在这种情况下,LI元素被删除。请在此处包含相关代码,因为链接可能会更改。
removeButton.setAttribute('onclick', 'deleteButton(this);');