jQuery对象根本没有前置

时间:2012-02-01 03:11:10

标签: jquery html prepend

我想在有人点击添加图片时插入一个对象($roleOption)。其他条件工作得很好,正是我想要的。

但是第一个条件(“如果没有选项则直接插入图像之前”)根本不起作用。没有错误被触发,它只是不添加对象。

我是否错误地使用了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 个答案:

答案 0 :(得分:4)

您无法将内容插入<img>标记(这是prepend()正在尝试执行的操作)。

改为使用before()