使用jQuery清空Div并写入HTML时报错:empty is not a function
解决jQuery中
empty is not a function错误的问题 嘿,这个问题我之前也踩过坑!核心原因是你用了status这个变量名,它和浏览器全局对象window的内置属性window.status冲突了——这个属性是用来设置浏览器状态栏文本的,本质是个字符串,根本不是jQuery对象,所以调用.empty()自然会报错说“不是函数”。
给你两个简单的解决办法:
1. 更换变量名
把变量名改成不会和全局内置属性冲突的,比如习惯上加个$前缀来标识jQuery对象,或者直接用更有意义的名字:
// 用$前缀区分jQuery对象 var $status = $('#terminalStatusDiv'); $status.empty().html('<span class="terminalStatus">Connected</span>'); // 或者用更明确的变量名 var terminalStatusDiv = $('#terminalStatusDiv'); terminalStatusDiv.empty().html('<span class="terminalStatus">Connected</span>');
2. 直接链式调用,省略变量
如果这个元素在代码里只用到一次,完全可以不用存变量,直接链式调用更简洁:
$('#terminalStatusDiv').empty().html('<span class="terminalStatus">Connected</span>');
额外提醒一下:全局作用域下的变量很容易和浏览器内置属性、其他库的变量冲突,所以尽量把代码放在局部作用域里(比如函数内部),或者用更独特的变量名,能避免很多这类莫名其妙的错误~
内容的提问来源于stack exchange,提问作者user9288338
相关产品推荐
相关产品推荐

