<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://code.jquery.com/jquery-2.2.3.min.js"></script>
</head>
<body>
<button type="button" onclick="submit();">launch</button>
<button type="button" onclick="clear();">clear</button>
<div>
Result:<br>
<div id="result">
</div>
</div>
<script>
function clear() {
$('#result').empty()
}
function submit() {
$('#result').append('<div>xxxxx</div>')
}
</script>
</body>
</html>
Launch
按钮效果很好但clear
没有。我在控制台中运行$('#result').empty()
,它按预期清除div。
您可以在jsfiddle中调试我的代码。
答案 0 :(得分:11)
在内联处理程序中调用 clear()
实际上是调用其他名为 document.clear()
的东西,因此永远不会调用你的函数。
这是因为在内联处理程序中, document
在 window
之前的范围内,并且 clear
函数是在全局范围内,即浏览器的 window
。
您可以将函数名称更改为其他内容
&#xA; &#xA; &lt; button type =“button”onclick =“myClear();”&gt; clear&lt; / button&gt;&#xA;&#xA; function myClear(){&#xA; $('#result')。empty()&#xA;}&#xA;
&#xA;&#xA; 或者我更愿意避免使用内联处理程序并避免使用污染全局范围。
&#xA;&#xA; $(function(){&#xA; function clear(){&#xA; $('#result')。 empty();&#xA;}&#xA;&#xA; $('。clear')。click(function(){&#xA; clear();&#xA;});&#xA; });&#XA; 代码>
&#XA;
答案 1 :(得分:2)
这是因为clear正在调用函数 document.clear()
,它首先出现在内联HTML调用的考虑范围内。
尝试将您的功能重命名为其他任何内容。
&#xA;答案 2 :(得分:1)
clear
是一个保留字,将其重命名为
答案 3 :(得分:1)
好像你的.empty()正在运作。这里的问题是clear()函数没有被调用。我尝试将clear()更改为clear1()并且它有效。
答案 4 :(得分:0)
只需使用
设置即可 $('.textboxElement').val("");
而不是清楚。我不确定为什么你的明确无效,但这是另一种方式。也许你的方法名称正在被提取?尝试将其命名为'foo'
答案 5 :(得分:0)
问题是你的功能名称。 “清除”已被定义为document.clear,因此它不会影响您的代码。将您的函数重命名为clearContent。