Вот моя разметка:Как целевые клонированный элемент в DOM (JQuery)
<div class="main">
<div class="box">
<div class="box_content">
<div class="box_price">180</div>
<div class="box_button">Click me</div>
</div>
</div>
<div class="box">
<div class="box_content">
<div class="box_price">130</div>
<div class="box_button">Click me</div>
</div>
</div>
<div class="box">
<div class="box_content">
<div class="box_price">270</div>
<div class="box_button">Click me</div>
</div>
</div>
</div>
<div class="container">
</div>
<div class="cost"></div>
Так я клонирован и приложил некоторые .box див в JQuery из .main в .container, используя этот код:
$(document).ready(function(){
"use strict";
$(".box_button").click(function(){
var box_content = $(this).parents('.box').clone(); //Box is cloned
var price = $(box_content).find(".box_price");
$(price).toggleClass('box_price sc_box_price'); //Class changed to sc_box_price
$(box_content).append('.container'); //Box is appended
});
});
Перед добавлением, я изменил класс ребенка элемента .box_price к .sc_box_price.
У меня есть еще один код, который должен рассчитать сумму всех .sc_box_price и добавить его в .cost.
$(document).ready(function(){
"use strict";
var box_price = $(".sc_box_price");
var total = 0;
$(box_price).each(function(){
total += parseInt($(this).text());
});
$('.cost').prepend("<div class='cost'>"+total+"</div>");
console.log(total);
});
По какой-то причине я не могу установить цель .sc_box_price. Возможно, это потому, что .sc_box_price фактически не добавлен в DOM? Как это исправить?
Пожалуйста, убедитесь, что вы не изменить класс только после того, как товар был клонирован. Я ожидаю изменений в исходном объекте после того, как клонирование не отразится на клоне. – connexo
Вместо этого вы не хотите: '$ (box_content) .appendTo ('. Container');' ??? И fyi, 'box_content' - уже jq-объект, поэтому нет необходимости снова его обертывать, например:' var price = box_content.find (". Box_price"); 'и btw,' price' - уже jq-объект и т. Д. , –