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

如何用jQuery或Javascript获取mycontainer内password类型input的输入值

存在的问题
  • closest() 方法使用错误:closest() 用于查找当前元素的祖先元素,而input是点击元素的同级元素,不是祖先,所以永远查找不到对应元素。你需要先查找最近的.mycontainer祖先容器,再在容器内查找目标input。
  • 属性选择器语法错误:正确的密码输入框选择器语法是input[type='password'],你写的input type=['password]不符合选择器语法规范,缺少闭合引号、属性选择器方括号位置错误。
  • jQuery取值方法错误:jQuery对象获取输入值的方法是val(),不存在value()方法,原生DOM对象才用.value属性取值,调用不存在的方法会直接抛出异常。
  • 缺少存在性判断:没有判断是否查找得到密码输入框,非密码输入框的容器点击后也会执行取值逻辑,会拿到空值甚至报错。
修正后的代码

仅需要修改JS部分即可:

function myFunction(el) {
  // 先定位所属的mycontainer容器,再查找容器内的密码输入框
  const $pwdInput = $(el).closest('.mycontainer').find('input[type="password"]');
  // 仅当容器内存在密码输入框时才执行取值操作
  if ($pwdInput.length) {
    const theInput = $pwdInput.val();
    console.log(theInput);
  }
}

修改后点击第二个、第四个容器的Click Me会分别输出myinput2、myinput4,点击其余两个容器不会有输出也不会抛出错误,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:54:03