javascript - 无需 Jquery 获取和设置当前输入值

标签 javascript jquery

不用jQuery也能获取当前输入值吗? 我的意思是,我不想使用 document.getElementById/class。我想通过输入标签获取元素。

我用 jQuery 实现了这个:

    $(document).on('keyup', 'input', function(e) {
        console.log($(this).val());
    })

并且适用于每个输入。

<div>
    <input type="text" value="">
    <input type="text" value="">
</div>

我不知道如何将 jQuery 代码转换为纯 JavaScript 代码。我试试这个:

    document.querySelector('input').addEventListener('input', function (evt) {
        console.log(this.value);
    });

但是,仅适用于第一个输入。有什么想法吗?

最佳答案

您需要使用函数querySelectorAll来获取整个元素集。然后,您需要循环这些元素并绑定(bind)必要的事件。

函数querySelector仅返回第一个找到的元素。

document.querySelectorAll('input').forEach(function(input) {
  input.addEventListener('input', function(evt) {
    console.log(this.value);
  });
})
<div>
  <input type="text" value="">
  <input type="text" value="">
</div>

关于javascript - 无需 Jquery 获取和设置当前输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49372933/

相关文章:

javascript - 如何使用 NeDB 获取数据库中特定记录的 id?

javascript - JS/JQuery 获取多维对象中键的值

jQuery 改变 <img> 的色调、饱和度、gamma?

javascript - 我无法使用 Intl.DateTimeFormat API 更新时间

javascript - 使 Intro.js 工具提示响应

Jquery CSS .animate li div

javascript - 返回 this 的 ES6 类方法无法由 stderr.on ('data' 调用)

javascript - 为什么在 jQuery 中 core.js 不是用原型(prototype)定义的扩展

javascript - Mpeg Dash html5 播放器或直播视频

jquery - 如何在选择后更改输入的字体系列