1

以下不适用于 chrome,但适用于 IE 和 Firefox:

<div id="removeField" onclick="remove(0);" style="cursor: pointer;">-Remove</div>

不会调用 remove() 函数。知道为什么吗?

4

2 回答 2

5

根据这个 Chrome 错误报告,他们实现了一个remove功能,这是一个规范。似乎 Chrome 有一种.remove()方法可以让您自行删除元素。您可能希望将您的函数命名为其他名称。这是记录实现的webkit 更改日志

于 2013-06-18T20:16:55.073 回答
1

remove是 Chrome 中 DOM 元素的成员函数。在您的控制台中,您可以通过运行以下命令来查看:

> document.createElement("div").remove
function remove() { [native code] }

在一个内联事件处理程序中,该元素的所有属性(包括成员函数)都可用作顶级变量。内联代码有效地在with(thisElement)块内运行。在内联事件代码的上下文中,标识符removeremove的是元素的方法,而不是全局范围的remove函数。

将函数名称更改为不与元素的方法名称冲突的名称,或window.remove显式使用。

修改自我之前用IE中的方法处理类似案例的答案start。 )

于 2013-06-18T20:22:11.050 回答