我正在尝试学习如何使用classname克隆元素并将其附加到正文。 这是我所做的,但我没有得到任何输出。有什么不对吗?
HTML:
<div class="check">hello</div>
CSS:
.check {
top: 100px;
}
JavaScript的:
var elem = document.getElementsByClassName('.check');
var temp = elem[0].clonenode(true);
document.body.append(temp);
JSFiddle Link:
http://jsfiddle.net/hAw53/378/
如果不是JS,jquery解决方案也受到欢迎。
答案 0 :(得分:4)
你快到了那里:
var elem = document.getElementsByClassName('check'); // remove the dot from the class name
var temp = elem[0].cloneNode(true); // capitalise "Node"
document.body.appendChild(temp); // change "append" to "appendChild"
&#13;
<div class="check">hello</div>
&#13;
答案 1 :(得分:2)
您有3个错误。正确的代码:
var elem = document.getElementsByClassName('check'); // check, not .check
var temp = elem[0].cloneNode(true); // cloneNode, not clonenode
document.body.appendChild(temp); // appendChild, not append
答案 2 :(得分:2)
您的代码存在一些问题。
getElementsByClassName()
采用类名(check
),而不是选择器(.check
)cloneNode()
拼写为大写字母N(不是clonenode()
)appendChild()
是用于追加子项的DOM方法的名称(不是append()
)正确版本:
var elem = document.getElementsByClassName('check');
var temp = elem[0].cloneNode(true);
document.body.appendChild(temp);
答案 3 :(得分:1)
你可以这样做:
$('.check').clone().appendTo('body');
你的代码有错误。首先,您使用了类选择器而不是类名。然后你使用了一个未定义的属性(属性区分大小写),你要使用appendChild
而不是append
这是jQuery的一部分。你对本机的javascript和jQuery太混淆了。
答案 4 :(得分:1)
var elem = $('.check');
elem.clone().prependTo( "body");