jQuery 对象根本不前置
Posted
技术标签:
【中文标题】jQuery 对象根本不前置【英文标题】:jQuery object doesn't prepend at all 【发布时间】:2012-02-01 03:11:10 【问题描述】:当有人单击添加图像时,我想插入一个对象 ($roleOption
)。 else 条件工作正常,完全符合我的要求。
但第一个条件(“如果没有选项,则直接插入图像之前”)根本不起作用。不会触发任何错误,它只是不会添加对象。
我是否错误地使用了 prepend 方法?
<script language="javascript" type="text/javascript">
$(document).ready(function ()
var $roleOption = "<div class='roleoption'><img src='@Url.Content("~/Public/images/delete.png")' alt='delete' />@html.Raw(@DSS.WebUI.Helpers.CustomHelpers.SelectListItemsForRoleJavascript(Model.ExistingRoles, 1))</div>";
$('img.add-role').click(function()
if ($(this).siblings('.roleoption').length == 0)
//Displaying zero as expected. So it's entering this conditional.
console.log($(this).siblings('.roleoption').length);
$(this).prepend($roleOption); //However the element isn't being prepended. :/
else
$($roleOption).insertAfter($(this).parent().find('.roleoption:last')); //This works as expected.
);
);
</script>
【问题讨论】:
【参考方案1】:您不能将内容插入<img>
标记(这是prepend()
试图做的)。
请改用before()
。
【讨论】:
啊,我明白了,文档让我相信 prepend 会在“this”之前添加元素。意思是在图像之前,而不是在图像内部。谢谢这解决了我的问题。以上是关于jQuery 对象根本不前置的主要内容,如果未能解决你的问题,请参考以下文章