使用jquery replace()标记添加函数

时间:2012-05-13 21:51:42

标签: javascript jquery

我有一个jquery replace()放入我要附加函数的列表项。我不知道到底该怎么做。

function replaceListItems(){ $('ul.options').replaceWith('<ul class="options"><li class="btn"><img src="btn.png" /></li></ul>');}

这是我想附上的功能:

$("ul.options li").click(function(){myFunction()});

如果我在替换/创建列表项之前分配它,似乎它会被删除。

提前感谢您的帮助! -m

2 个答案:

答案 0 :(得分:0)

替换:

$("ul.options li").click(function(){myFunction()});

使用:

$("ul.options li").live('click',function(){myFunction()});

这样jQuery还会将click处理程序附加到替换/创建的元素。

参考http://api.jquery.com/live/

演示http://jsfiddle.net/CWH4D/

答案 1 :(得分:0)

jsBin demo

function replaceListItems(){     
  $('ul.options').replaceWith('<ul class="options"><li class="btn"><img src="http://placehold.it/40x40/cf5&text=BTN" /></li></ul>');       
}

$("ul.options").on('click','li',function(){  
  replaceListItems();   
});

更多信息:http://api.jquery.com/on/