JS清空指定文本框外内容时hasClass判断返回undefined问题
解决JS清空指定外文本输入框的问题
嘿,我来帮你排查代码里的问题,让它正常工作起来!
你代码里的两个关键错误
hasClass()的参数格式错了:这个方法只需要传入类名本身,不需要加开头的.,你写的.isMobile是错误的,应该写成isMobile。- 错误调用了
.length属性:hasClass()返回的是布尔值(true或false),不是jQuery对象,所以布尔值根本没有.length属性,这就是为什么你会得到undefined的原因。
修正后的代码写法
写法一:保留each遍历的逻辑
$('input[type=text]').each(function(){ // 直接用!取反判断是否不包含目标类 if (!$(this).hasClass('isMobile')) { $(this).val(''); } });
写法二:用jQuery选择器简化代码(更推荐)
不需要手动遍历,直接通过:not()选择器排除带isMobile类的输入框,然后一次性清空:
$('input[type=text]:not(.isMobile)').val('');
这样就能精准清空所有文本输入框,只保留带有isMobile类的那个输入框的内容啦~
内容的提问来源于stack exchange,提问作者Shiladittya Chakraborty
相关产品推荐
相关产品推荐

