如何在JQuery中克隆变量html元素
how to clone variable html element in JQuery
我有一组div,这是数据库的元素,我想为每个div设置一个事件,这样,如果我点击其中一个,它将被克隆。我试过了,但没有用,下面是我页面上的代码:
<% @ideas.each do |idea| %>
<div id="idea_<%=idea.id%>" class="idea">
<%= idea.title %>
</div>
<% end %>
下面是CoffeeScript代码:
ideas = document.getElementByClassName("idea")
for iter in [0..ideas.length - 1]
do ->
ideas[iter].(get_id).click -> ideas[iter].(get_id).clone().appendTo('.container');
有什么想法吗?
这是一个稍微修改的版本,应该做你正在寻找的。在Javascript/Coffeescript中要始终牢记的一件事是你的代码将在其中运行的范围。在这种情况下,使用do
关键字非常重要,这样才能正确捕获iter
变量。没有它,当你点击任何想法时,它总是会克隆最后一个想法,因为当点击处理程序实际执行时,iter
将到达循环的结束。
ideas = document.getElementByClassName("idea")
for iter in [0...ideas.length]
do (iter) ->
ideas[iter].click -> ideas[iter].clone().appendTo('.container');
这是一个修改后的版本,也更干净一些。jQuery可以为你处理所有这些交互
$('.idea').click ->
$(@).clone().appendTo('.container')
你想用'get_id'部分做什么?我只是忽略了它,所以如果我误解了,请告诉我。
编辑:要只克隆一次,最简单的方法是使用jQuery的'one'方法而不是'bind'方法。
$('.idea').one 'click', ->
$(@).clone().appendTo('.container')
相关文章:
- 通过javascript重定向html传递php变量
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 来自文本输入null的html javascript变量
- 如何在HTML中显示服务器对象变量
- 在索引.html和应用.js [node.js] 之间共享变量
- 节点.js将变量显示为 HTML
- 从Javascript和Php变量创建Html模板文档
- 在if语句下的html中使用javascript变量
- 操作javascript变量[HTML]以只显示文本
- 在HTML包围的javascript中添加两个变量
- 变量不递增如何I'我喜欢html按钮点击的时候
- 将变量从html传递到javascript再传递到php
- HTML 按钮点击函数无法使用 jQuery 变量作为参数
- 使用JavaScript变量更改HTML组类
- 如何在html中将字符串转换为数字?以及如何将变量传递到scriptlet代码中
- $Scope变量在HTML中不更新,尽管在控制器中不断更新
- 使用php在html中搜索硬编码的JavaScript变量
- 将html变量从Ajax传递到PHP
- Jquery 不会正确更新带有变量 (html) 的文本框
- 如何在JQuery中克隆变量html元素