使用 .each() 将输入复制到多个 div
我想将用户的输入复制到多个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>
最好的问候,
菲利克斯
i want to copy the input from a user to multiple div's.
I tried to use .each() because i want to apply it to every div that follows.
I wrote this code so far, but it's only working for the first 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>
Best Regards,
Felix
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
ID 必须是唯一的:
大多数浏览器将返回具有给定 ID 的文档的第一个元素,但行为未指定。
如果您想选择多个元素,请使用类:
HTML:
JavaScript:
其他一些要点:
.each
,setter 方法通常始终应用于集合中的所有元素。this
指的是处理程序绑定到的元素。您不必再次使用选择器。IDs have to be unique:
Most browsers will return the first element of a document with a given ID, though the behaviour is unspecified.
Use classes instead if you want to select multiple elements:
HTML:
JavaScript:
Some other points:
.each
, setter methods are normally always applied to all elements of the set.this
refers to the element the handler is bound to. You don't have to use the selector again.我不认为这会失败,但你仍然应该在这里使用 class 而不是 ids 。
然后,您可以像这样添加输入中的值:
请注意,我更改了您的示例以使用 text 函数而不是 .html 函数。因为您绑定到 keyup 事件,所以如果用户输入 HTML,您在标记完成之前插入的 HTML 很可能会被破坏。如果你想接受 HTML,你应该绑定到模糊事件:
I wouldn't think this would fail, but you should nevertheless use class instead of ids here.
Then you can add the value from the input like this:
Note that I changed your example to use the text function instead of the .html function. Because you bind to the keyup event, chances are that if the user inputs HTML, the HTML you insert before the tag is finished would be broken. If you want to accept HTML you should bind to the blur event instead:
使用类而不是 ID。问题解决了:-)
use class instead of ID. Problem solved :-)
我认为问题在于,当您使用 ID 选择器时,JQuery 仅获取第一个实例。
如果您分配一个班级,它应该可以工作。
就我个人而言,我会这样做...
或者您可以像这样使用
name=copy
和选择器...尽管根据您的数据的工作方式,最好不要有重复的“name”属性值
I think the problem is that JQuery only gets the first instance when you use an ID selector.
If you assign a class instead it should work.
Personally I would go for this...
Or you could use
name=copy
and selector like so...Though depending on how your data works it might be best not to have duplicate "name" attribute values
JavaScript
Html
JavaScript
Html