所以我有一個頁面,點擊按鈕後,它打開一個嵌套的字段,我想在點擊時隱藏字段中的一個div,但到目前爲止我的功能不起作用。.insertBefore()不是一個函數javascript
我的JS文件
$('body').on('click', '#main-applicant-btn', function() {
event.stopPropagation();
var prependData = $('.main-applicant').children().first().clone();
prependData.find("div.checkbox").replaceWith($("div.checkbox.hide"));
var prependedData = $('.main-applicant').children().last();
var list = document.getElementsByClassName("main-applicant");
list.insertBefore(prependData, prependedData);
})
我applicant.html.erb文件
<div class="form-group">
<%= f.link_to_add "", :applicant_commitments, :class => "glyphicon glyphicon-plus-sign pointer add", :id => "main-applicant-btn", :data => {:target => "#main-applicant-#{rand}"} %>
</label>
</div>
<span id="main-applicant-<%= rand %>" class="main-applicant">
<%= f.simple_fields_for :applicant_commitments do |applicant_commitment| %>
<%= render "existing_commitment_fields", {:f => applicant_commitment, :instalment => true, :type => 'existing_commitment_applicant'} %>
<% end %>
</span>
我嵌套場existing_commitment_fields.html.erb
<div class="form-group monthly-instalment-lender-checkbox">
<div class="col-sm-3" id="checkbox-existing-fields">
<div class="checkbox">
<label>
<span>Joint Name</span>
<%= f.input_field :joint_name, as: :boolean, class: "joint-name-commitment" %>
</label>
</div>
</div>
</div>
所以在點擊我想要的main-applicant-btn
當它顯示nested_fields時,我將隱藏div.checkbox
但到目前爲止當我嘗試這段代碼時,出現錯誤.insertBefore()不是函數。
任何人有任何線索如何追加或強制JavaScript運行代碼後,它已經加載?
另外,'的insertBefore()'方法並不期望的jQuery對象作爲參數的目標。 – nnnnnn
@nnnnnn你是對的將編輯 – Kaiido