hal*_*sed 2 html javascript jquery
当我使用.html()替换它的内容时,与选择器关联的功能停止工作.由于我无法发布原始代码,因此我创建了一个示例来展示我的意思...
Jquery:
$(document).ready(function(){
$("#pg_display span").click(function(){
var pageno = $(this).attr("id");
alert(pageno);
var data="<span id='page1'>1</span><span id='page2'> 2</span><span id='page3'> 3</span>";
$("#pg_display").html(data);
});
});
Run Code Online (Sandbox Code Playgroud)
Html:
<div id="pg_display">
<span id="page1">1</span>
<span id="page2">2</span>
<span id="page3">3</span>
</div >
Run Code Online (Sandbox Code Playgroud)
他们有什么办法解决这个问题吗?...谢谢
我不确定我是否完全理解你,但如果你问为什么.click()函数不能用于以后添加的跨度,你需要使用.live(),
$("#someSelector span").live("click", function(){
# do stuff to spans currently existing
# and those that will exist in the future
});
Run Code Online (Sandbox Code Playgroud)
这将为当前页面上的任何元素以及稍后创建的任何元素添加功能.它使您在创建新元素时不得不重新附加处理程序.