2015-08-21 5 views
1

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

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); 

ответ

1

Прямо из the documentation:

Element.replace

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

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

Как и большинство вещей PrototypeJS, он также доступен в a method on elements:

Element#replace

Element#replace([newContent]) → Element

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

+0

Я пробовал это: он не работает: я обновлю свой вопрос, чтобы показать, как я это делаю. – ash

+2

@Ash: '' '' '' '' '' принципиально отличается * от jQuery '' '. Он принимает * id *, а не селектор. Поэтому удалите '#': '$ (« доставка-уведомление ») .replace (result);' Если вы собираетесь работать в Prototype, стоит отступить и хорошо прочитать документы. Прототип не настроен на основе jQuery, поэтому использование его совсем другое. –

+1

Это правда, спасибо, что указали это. Я не буду часто работать с прототипом, но я даже не заметил там #. – ash