Qual è l'equivalente DOM standard per JQueryJS DOM equivalente per JQuery accodare
element.append("<ul><li><a href='url'></li></ul>")
?
Qual è l'equivalente DOM standard per JQueryJS DOM equivalente per JQuery accodare
element.append("<ul><li><a href='url'></li></ul>")
?
Credo che bisogna estendere la proprietà innerHTML per fare questo
element[0].innerHTML += "<ul><li><a href='url'></a></li></ul>";
qualche spiegazione:
element
è una collezione</a>
necessario in quanto alcuni browser consentono solo valido html per essere impostato su innerHTMLAma il + = trucco, grazie !! – Tim
element.innerHTML += "<ul><li><a href='url'></li></ul>";
dal codice sorgente di jQuery:
append: function() {
return this.domManip(arguments, true, function(elem) {
if (this.nodeType === 1) {
this.appendChild(elem); //<====
}
});
},
Nota che per farlo funzionare è necessario costruire l'elemento DOM dal stringa, viene eseguita con la funzione jQuery domManip
.
jQuery 1.7.2 source code
Usa DOM manipolazioni, non HTML:
var list = document.createElement('ul');
var item = document.createElement('li');
var link = document.createElement('a');
link.href = 'url';
item.appendChild(link);
list.appendChild(item);
element.appendChild(list);
concordato; questo è sicuramente il modo in cui suggerirei. L'elemento –
è una raccolta jQuery ... quindi è necessario 'elemento [0] .appendChild (lista);' a mio modesto parere –
@TobiasKrogh: penserei che se l'OP non vuole usare jQuery per aggiungere un elemento, quindi l'OP non sta più usando jQuery. A mio modesto parere. – Ryan
Il modo più semplice per replicare Jquery metodo Append in puro JavaScript è con "insertAdjacentHTML"
var this_div = document.getElementById('your_element_id');
this_div.insertAdjacentHTML('beforeend','<b>Any Content</b>');
Altro Info - MDN insertAdjacentHTML
guardare il codice sorgente jQuery ... – gdoron
Deve essere una stringa che stai aggiungendo? –