JavaScript / CoffeeScript重命名分配给变量的克隆嵌套div的id

时间:2016-10-28 02:00:53

标签: javascript jquery ruby-on-rails coffeescript

我想在我的Rails应用中使用CoffeeScript克隆下面html中的outer_div,然后将id inner_div更改为mSec时间戳。

视图

<div class="col-xs-12" id="outer_div">
  <div class="col-xs-3" id="inner_div">
    Hello World
  </div>
</div>

<input type="button" value="Submit" id="submit_button" class="btn add-text-input">

<div class="col-xs-12" id="new"></div>

的CoffeeScript

ready = ->
  $("#submit_button").click ->
    date = new Date
    mSec = date.getTime()
    name = $('#outer_div').clone()
    name.attr 'id', mSec          # <-- need to change this line of code
    $("#new").append(name);
  return
$(document).ready(ready)  

name.attr 'id', mSec代码会更改id的{​​{1}},但我想更改outer_div的{​​{1}}。我需要对代码进行哪些更改才能定位`inner_div&#39;?

1 个答案:

答案 0 :(得分:0)

使用name上的find在您的克隆中搜索#inner_div

name.find('#inner_div').attr(id: mSec)

这会为您提供您所使用的id属性,但您仍然会有重复的id="outer_div"元素,而且这些元素无效。您也应该更改id上的name属性;您可能不需要克隆上的id,因此您可以使用removeAttr将其删除:

  name.removeAttr('id').find('#inner_div').attr(id: mSec)

演示:https://jsfiddle.net/ambiguous/rd25b2ey/