克隆对象和硬编码HTML之间的区别

时间:2017-07-14 12:08:42

标签: javascript jquery html css

场景是在#first内复制#test,以下是实施它的两种方案,哪种方式最好?为什么?

<div class="first">
    <div class="second">1</div>
</div>

<div class="test">
    <div>--------------</div>
</div>

JQUERY1:

var cloner = $('.first').clone().prop({
    'class': 'changed_first'
});
$('.test').append(cloner)
$('.changed_first > .second').attr('class', 'changed_second');
$('.changed_first > .second').html('2');

关于JQUERY1的绕道问题:克隆方法中是否有可能改变内部元素的属性?

JQUERY2:

$('.test').append('<div class="changed_first"><div class="changed_second">2</div></div>');

1 个答案:

答案 0 :(得分:0)

使用克隆的第一种方法将是一个很好的方法。

是的,您可以在将克隆元素绑定到dom之前对其进行操作。

如果要在将if绑定到任何地方之前访问任何id或类到克隆元素,可以这样做

var cloner = $('.first').clone().prop({
    'class': 'changed_first'
});

cloner.find('#id').css('something','css-value');
var data_id = cloner.find('.class').attr('data-bind');