$ fn.inserfter () e $ fn.after () jQuery
-
12-11-2019 - |
Domanda
lo capisco $fn.insertAfter()
viene utilizzato per inserire l'elemento dopo l'elemento fornito come argomento. Com'è $fn.after()
diverso da esso?
Soluzione
$.fn.after()
aiuto inserisce un elemento dopo il obbiettivo Elemento, su cui lo chiami.
$('div').after('<div>new div</div>');
invece, $.fn.insertAfter
inserisce il obbiettivo elemento dopo il nodo specificato:
$('<div>new div</div>').insertAfter($('#someid'));
Quest'ultimo è per lo più preferito, perché tieni a riferimento All'elemento appena creato e può catena più metodi su di esso. Quindi, ad esempio:
$('<div>new div</div>')
.insertAfter($('#someid'))
.attr('foo', 'bar')
.css({
'background-color': 'red'
});
è possibile. Non puoi farlo con .after()
aiuto. La stessa cosa è .append()
aiuto / .appendTo()
aiuto e .insertBefore()
aiuto / .before()
aiuto
Altri suggerimenti
Questo è un esempio della stessa cosa, la differenza è il contesto del selettore. insertAfter
Inserisce l'elemento selezionato dopo il parametroafter
Inserisce il parametro dopo l'elemento selezionato.
$('<div id="foo"></div>').insertAfter('#bar');
$('#bar').after('<div id="foo"></div>');
Citando direttamente dalla documentazione:
Il
.after()
e.insertAfter()
I metodi eseguono lo stesso compito. Il sindaco La differenza è nella sintassi—Il punto di vista, nel posizionamento del contenuto e del target. Insieme a.after()
, l'espressione del selettore che precede il metodo è il contenitore dopo il quale viene inserito il contenuto. Insieme a.insertAfter()
, d'altra parte, il contenuto precede il metodo, sia come espressione di selettore che come markup creato al volo, e viene inserito dopo il contenitore target.
Questo menziona che svolgono lo stesso compito ma hanno una sintassi diversa.