Я хочу вставить объект ($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>