Прототип альтернативы replaceWith в jQuery

У меня есть небольшой раздел с некоторым контентом, который заменяется с помощью ajax. Однако я ограничен прототипом:

function ajaxCartUpdateShippingNotice( productId ) {
    var aj = new Ajax.Request("/hint/block/index?id=" + productId, {
        method: "GET",
        onComplete: function( result ) {
            $( "#delivery--notice" ).replace( result );
        }
    });
};

Мой HTML-контент выглядит примерно так:

<div id="delivery--notice">
    <p>Some content here.</p>
</div>

и я знаю, что с jQuery я могу это сделать; есть ли способ сделать это с помощью прототипа?

$( selector ).replaceWith( html );

person ash    schedule 21.08.2015    source источник


Ответы (1)


Прямо из документации:

Element.replace

Element.replace(element[, newContent]) → Element

Заменяет element самого себя на newContent и возвращает element.

Как и большинство вещей PrototypeJS, он также доступен как метод для элементов:

Element#replace

Element#replace([newContent]) → Element

Заменяет element самого себя на newContent и возвращает element.

person T.J. Crowder    schedule 21.08.2015
comment
Я пробовал это: это не работает: я обновлю свой вопрос, чтобы показать, как я это делаю. - person ash; 21.08.2015
comment
@Ash: $ в Prototype принципиально отличается от $ в jQuery. Он принимает id, а не селектор. Так что удалите #: $( "delivery--notice" ).replace( result ); Если вы собираетесь работать в Prototype, стоит сделать шаг назад и хорошенько прочитать документацию. Prototype не основан на наборах, как jQuery, поэтому его использование совсем другое. - person T.J. Crowder; 21.08.2015
comment
Это правда, спасибо, что указали на это. Я не собираюсь так часто работать с прототипом, тем не менее я даже не заметил там #. - person ash; 24.08.2015