我想复制id test
元素中的span元素。我知道.clone
工作正常。但如果我使用.html
这样.click
功能无效。我错了。我怎样才能使用.html()
HTML:
<div id="test">
<span class="new">hi</span>
</div>
<div id="test1"></div>
脚本:
function testtt (){
$('#test').on('click','.new',function(){
alert('hi');
});
var rr = $('#test').html();
$('#test').append(rr);
}
testtt();
答案 0 :(得分:3)
我对您的问题的理解是您希望单击处理程序应用于复制的span元素。
您需要更改on click事件的范围以覆盖克隆元素,如下所示:
HTML:
<div id="test" class="clickable">
<span class="new">hi</span>
</div>
<div id="test1" class="clickable"></div>
JS:
$('div.clickable').on('click','.new',function(){
alert('hi');
});
答案 1 :(得分:2)
它不起作用的原因是因为你将元素克隆到另一个选择器(#test1
),但你只是看#test
来监听click事件..
我就是这样做的:http://jsfiddle.net/ChubbyNinja/6fv4A/1/(使用你的两个ids)
或http://jsfiddle.net/ChubbyNinja/6fv4A/3/使用类作为选择器,因为类可以多次使用..
答案 2 :(得分:0)
复制其html与克隆不同。在应用你的听众时你可能不太具体:
$('body').on('click','.new',function(){...