Показать сообщение отдельно
  #1 (permalink)  
Старый 28.01.2014, 14:29
Аспирант
Отправить личное сообщение для niko42 Посмотреть профиль Найти все сообщения от niko42
 
Регистрация: 12.07.2012
Сообщений: 81

clone() изменения контента
Здравствуйте! Имеется, следующее:
$.installCatalog(Array({"name":"11111"}, {"name":"4444"}), Array({"id":"1"}));

<div class="installCatalog">
	<div class="title_category"></div>
</div>

$.installCatalog = function(category, product){

    if(product == ''){return false;}

    var c = $('.installCatalog').last();

    if(c.css('display') == 'none'){
        c.css({"display":"block"});
    }
    else{
        c = c.clone(true).insertAfter(c);
    }
    console.log(c);

    c.contentsd(category, product);

};

$.fn.contentsd = function(category, product){
    for(var key in category){
        this.find(".title_category").html("<span><a href=''>" + category[key].name + "</a></span>");
    }
};


Проблема заключается в следующем, когда клонирую блок и пытаюсь изменить контент в span, то почему-то он меняется на последнее значение: т.е. получается вот так:

<div class="installCatalog">
	<div class="title_category">
		<span>444444</span>
	</div>
</div>
<div class="installCatalog">
	<div class="title_category">
		<span>444444</span>
	</div>
</div>


А должно быть вот так:
<div class="installCatalog">
	<div class="title_category">
		<span>11111</span>
	</div>
</div>
<div class="installCatalog">
	<div class="title_category">
		<span>444444</span>
	</div>
</div>


Почему меняется контент во всех полях, если я явно указываю this

Последний раз редактировалось niko42, 28.01.2014 в 14:36.
Ответить с цитированием