我想将用户的输入复制到多个div。
我尝试使用.each(),因为我想将其应用于随后的每个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
]
此属性为元素分配名称。此名称在文档中必须唯一。
尽管行为未指定,但大多数浏览器都会返回具有给定ID的文档的第一个元素。
如果要选择多个元素,请改用类:
HTML:
<div class="copy"></div>
<div class="copy"></div>
JavaScript:
$("#someText").keyup(function() {
$(".copy").text(this.value);
});
其他一些要点:
您不必使用
.each
,setter方法通常总是应用于集合的所有元素。在事件处理程序中,
this
引用处理程序绑定到的元素。您不必再次使用选择器。如果您已经有一个DOM元素的引用,则直接访问其属性之一而不是通过jQuery通常更简单。