You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jQuery移除空白输入框?列表项中空白输入框移除失败怎么办?

解决jQuery移除空白输入框的问题

嘿,我来帮你搞定这个问题!先说说你原来的代码为啥没用:

  • $('input:empty')完全用错了——:empty选择器是用来匹配**没有任何子节点(包括文本节点)**的元素,但input是自闭合标签,它的内容是存在value属性里的,不是子节点,所以这个选择器根本找不到你要的空白输入框。
  • $('li:empty')也不会生效,因为你的li里面有input元素,哪怕input是空的,li也不算“空”节点。

正确的实现方法

根据你的需求,分两种场景给你方案:

1. 仅移除所有空白文本输入框

如果只需要删掉value为空(包括只有空格的情况)的文本输入框,用filter()方法来筛选:

// 筛选所有文本输入框中值为空(去空格后)的元素并移除
$('input[type="text"]').filter(function() {
  return $.trim($(this).val()) === '';
}).remove();

如果你的空白输入框不只是text类型(比如password、number),把选择器改成input就行。要是不需要过滤空格,直接去掉$.trim(),用$(this).val() === ''。

2. 移除空白输入框+连带移除对应的li

如果要把包含空白输入框的li也一起删掉,有两种方式:

方式一:直接筛选符合条件的li并移除

$('li').has('input[type="text"]').filter(function() {
  // 检查li里的input值是否为空(去空格后)
  return $.trim($(this).find('input').val()) === '';
}).remove();

方式二:先删空白input,再删空li
这种更直观,先处理input,再清理空的li:

// 第一步:移除空白输入框
$('input[type="text"]').filter(function() {
  return $.trim($(this).val()) === '';
}).remove();
// 第二步:移除现在变成空的li
$('li:empty').remove();

这样就能精准处理你要的场景啦!

内容的提问来源于stack exchange,提问作者verlager

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:45:05