Javascript Jquery克隆元素样式
我正在尝试克隆div的特定部分Javascript Jquery克隆元素样式,javascript,jquery,Javascript,Jquery,我正在尝试克隆div的特定部分style=“background color:;” 所以我想做的是,当我点击一个特定的按钮时,它只克隆div的样式部分 目前我收到此错误uncaughttypeerror:$(…).attr(…).clone不是函数 以下是我目前拥有的一个示例: $(函数(){ $(“.mapei灌浆颜色”)。单击(函数(){ $(this.attr('style').clone(true,true).appendTo('网格'); 变量$this=$(“.grout选项卡”)
style=“background color:;”
所以我想做的是,当我点击一个特定的按钮时,它只克隆div的样式部分
目前我收到此错误uncaughttypeerror:$(…).attr(…).clone不是函数
以下是我目前拥有的一个示例:
$(函数(){
$(“.mapei灌浆颜色”)。单击(函数(){
$(this.attr('style').clone(true,true).appendTo('网格');
变量$this=$(“.grout选项卡”);
if($this.hasClass(“单击一次”)){
$this.removeClass(“单击一次”);
$(“.mapei”).slideUp();
}
});
});代码>
您可以简单地使用Jquery:函数获取特定属性
例如:
$('div').attr('style')
查看一个实际示例
编辑:
要将其用于克隆,可以执行以下操作:
$(this).clone().attr('style', $(this).attr('style')).appendTo('#the-grid');
请参阅以获取一个实时示例。如果我正确理解了您的问题,当您单击一个按钮时,它会采用该按钮的样式并将其克隆到另一个按钮
$('#style')。在('click',function()上{
document.getElementById('clone').setAttribute('style',this.getAttribute('style'));
}); 代码>
点击这里
克隆
在这里回答你的评论,我想我忽略了你到底需要什么
克隆(true)将复制样式属性以及节点的所有其他道具
你在代码中做了错误的动作-
.attr('style')返回一个字符串,而不是元素。
我认为您需要将克隆节点附加到网格中
因此,不是:
$(this).attr('style').clone(true, true).appendTo('#the-grid');
你需要这个:
$(this).clone(true).appendTo('#the-grid').attr("style", "Your new styles here");
或者,如果要将原始对象中的样式与新样式合并,请执行以下操作:
var $elem = $(this).clone(true).appendTo('#the-grid');
var style = $elem.attr("style") + "Your new styles here";
$elem.attr("style", style);
希望这有帮助,我明白了。你想从中提取按钮的样式吗?是的,单击该元素后,它会克隆内联样式并将其放置在我想要的位置。我知道如何做的其他一切我只是不知道如何克隆一个div的特定部分在这种情况下它是内联样式。我无法理解您真正想要的是什么,但这可能会帮助您$(选择器).attr('style')。返回特定div的内联样式。更新我的问题以显示我当前拥有的内容。使用jquery将代码缩减为:$('#clone').attr('style',$(this.attr('style'))代码>Hi Nanashi,这并没有完全做到这一点所发生的事情是,它只是将完整的div放入网格中,而不是将style属性添加到网格中。因此,如果我没有使用clone,我如何将样式再次指定给它相同的东西,而不是将背景色的内联样式添加到div中,而只是将样式添加到网格中网格内的整个div