2

$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>
4

1 回答 1

4

您不能将内容插入<img>标签(这prepend()是试图做的)。

改为使用before()

于 2012-02-01T03:15:36.177 回答