我想用clone1或clone2替換thisOne的innerhtml。用事件替換innerhtml
我已經想出瞭如何用克隆的元素替換整個thisOne元素,但寧可不這樣做,因爲我將數據存儲在li元素中。
我也想出瞭如何在克隆innerhtml周圍放置一個單獨的div標籤,克隆(true)冗餘標籤元素,並將冗餘標籤和它的innerhtml附加到thisOne中,但這些看起來像是浪費了標籤。
我也發現,html()不會帶來事件,並且寧願不重新聲明它們,每次我交換html。
有什麼建議嗎?謝謝
<ul>
<li id="thisOne" data-attr="whatever"></li>
</ul>
<ul style="display: none">
<li id="clone1">
<a href="#" class="doSomething1">Click</a>
<button class="doSomething3">Click</button>
</li>
<li id="clone2">
<a href="#" class="doSomething2">Click</a>
<button class="doSomething4">Click</button>
</li>
</ul>
....
$("clone1 a").click(function(){alert("hi");});
添加以下新代碼似乎不起作用。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Dialogs</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js" language="javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#cloneIt").click(function(){$('#newLocation').html($('#clone').html());});
$("#clone a").on("click", function(){alert("click");});
$("#clone select").on("change", function(){alert("change");});
});
</script>
</head>
<body>
<input type="button" value="Clone it" id="cloneIt" />
<div id="newLocation"></div>
<div id="clone" style="display: none">
<a href="#">Click Me</a>
<select><option>Hello</option><option>Goodby</option></select>
</div>
</body>
</html>
你會覺得會有更好的方式來做到這一點,但我得去上最好的。謝謝 – user1032531 2012-04-13 22:03:31