jquery - 使用 .each() 将输入复制到多个 div

标签 jquery each keyup

我想将用户的输入复制到多个div。 我尝试使用 .each() 因为我想将它应用于后面的每个 div。 到目前为止我已经编写了这段代码,但它仅适用于第一个 div。

<input type="text" name="someText" id="someText">



$("#someText").keyup(function() {
    var x = $("#someText").val();
    $("#copy").each(function () {
        $(this).html(x);
    });
});


<div id="copy"></div>
<div id="copy"></div>

最诚挚的问候,

菲利克斯

最佳答案

IDs have to be unique :

id = name [CS]
This attribute assigns a name to an element. This name must be unique in a document.

大多数浏览器都会返回具有给定 ID 的文档的第一个元素,但行为未指定。

如果要选择多个元素,请改用类:

HTML:

<div class="copy"></div>
<div class="copy"></div>

JavaScript:

$("#someText").keyup(function() {
    $(".copy").text(this.value);
});

其他一些要点:

  • 您不必使用 .each,setter 方法通常始终应用于集合的所有元素。
  • 在事件处理程序内,this 指的是处理程序绑定(bind)到的元素。您不必再次使用选择器。
  • 如果您已经引用了 DOM 元素,那么直接访问其属性之一通常比通过 jQuery 更简单。

关于jquery - 使用 .each() 将输入复制到多个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8518318/

相关文章:

javascript - 检查 jQuery 中是否为 undefined 和 null

javascript - 带有多个复选框的 HTML 表格过滤器

jquery 在另一个文本框上键入时更新文本框值

javascript - 如何将文件附加到 formData

javascript - 如何修复 window.CKFinder 未定义

javascript - 检查对象数组并忽略所有其他内容

javascript - 需要帮助使用 jquery 从浏览器控制台选择标签

Jquery $.each 选择器

javascript - jQuery 无法在设计模式下捕获 keyup 目标元素

JavaScript keyup 和 onload 计算字段总计