在活动地点附加标签

时间:2010-12-29 10:04:09

标签: jquery

我有像这样的UI

<ul class="fine">
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>

单击Li时,我想在相应的li下添加<textarea> 像这样

<li>One</li>
<li><textarea></textarea></li>

2 个答案:

答案 0 :(得分:1)

您可以使用.after(),如下所示:

$(".fine").delegate("li", "click", function() {
  $(this).after("<li><textarea></textarea></li>");
});

You can test it out here,对于旧版本的jQuery(jQuery&lt; 1.4.1),直接使用click事件:

$(".fine li").click(function() {
  $(this).after("<li><textarea></textarea></li>");
});

对于委托版本,您可能希望在单击<textarea>元素本身时阻止添加...这很容易,只需给它们一个类并将其从选择器中排除,如下所示:

$(".fine").delegate("li:not(.ta)", "click", function() {
  $(this).after("<li class='ta'><textarea></textarea></li>");
});

You can test it here

答案 1 :(得分:0)

类似

$('.fine li').live('click', function() { 
   $('<li><textarea></textarea></li>').prependTo($(this)); 
});

未经测试