如何在ul之后添加表单?这是我的代码:
<article>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione repudiandae possimus dolore perferendis vel magni odio in architecto corrupti consequuntur.
<a class="open" href="#">Add comment</a>
</article>
<ul class="children">
<li>Lorem ipsum dolor sit amet, consectetur.</li>
<li>Lorem ipsum.</li>
<li>Lorem ipsum dolor sit amet.</li>
</ul>
<hr>
<article>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione repudiandae possimus dolore perferendis vel magni odio in architecto corrupti consequuntur.
<a class="open" href="#">Add comment</a>
</article>
<ul class="children">
<li>Lorem ipsum dolor sit amet, consectetur.</li>
<li>Lorem ipsum.</li>
<li>Lorem ipsum dolor sit amet.</li>
</ul>
和jquery:
$('.open').on('click', function(event) {
event.preventDefault();
$(this).parent().after('<form><input type="text"></form>');
});
问题是:我如何在ul列表后添加表单,目前是在文章之后插入的。
以下是演示:DEMO
修改
如果篇篇文章不存在后,如何在文章之后添加表单?
解答:
$('.quick_reply').on('click', function(event) {
event.preventDefault();
if ($(this).parent().next('ul').length > 0) {
$(this).parent().next('ul').after('<form><input type="text"></form>');
} else {
$(this).parent().after('<form><input type="text"></form>');
}
});
答案 0 :(得分:1)
您可以使用next('ul')
查找与ul
相关的a
:
$(this).parent().next('ul').after('Form after ul');
我很明显在这里假设Form after ul
只是一个占位符,用于使您的问题更加清晰,并且您的实际代码确实包含form
,
答案 1 :(得分:1)
$('<form>').insertAfter($(this).closest('article').next('ul'));
答案 2 :(得分:1)
http://api.jquery.com/insertafter/
.insertAfter()jQuery方法应该像上面的jQuery文档中的示例一样工作。
答案 3 :(得分:0)
$('.open').on('click', function(event) {
event.preventDefault();
if ($(this).parent().next('ul').length > 0) {
$(this).parent().next('ul').after('<form><input type="text"></form>');
} else {
$(this).parent().after('<form><input type="text"></form>');
}
});