¿Cuál es el equivalente DOM estándar para jQueryJS DOM equivalente para jQuery anexar
element.append("<ul><li><a href='url'></li></ul>")
?
¿Cuál es el equivalente DOM estándar para jQueryJS DOM equivalente para jQuery anexar
element.append("<ul><li><a href='url'></li></ul>")
?
Yo creo que hay que extender la propiedad innerHTML para hacer esto
element[0].innerHTML += "<ul><li><a href='url'></a></li></ul>";
alguna explicación:
element
es una colección</a>
necesaria ya que algunos navegadores permiten solamente HTML válida para ajustarse a innerHTMLMe encanta el truco + =, gracias !! – Tim
element.innerHTML += "<ul><li><a href='url'></li></ul>";
a partir del código fuente de jQuery:
append: function() {
return this.domManip(arguments, true, function(elem) {
if (this.nodeType === 1) {
this.appendChild(elem); //<====
}
});
},
Tenga en cuenta que con el fin de hacer que funcione lo que necesita para construir el elemento DOM de la cadena, se está haciendo con la función jQuery domManip
.
jQuery 1.7.2 source code
Uso DOM manipulaciones, no 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);
De acuerdo; esta es definitivamente la forma en que sugeriría. –
elemento es una colección jQuery ... por lo que necesitaría 'elemento [0] .appendChild (lista);' en mi humilde opinión –
@TobiasKrogh: Creo que si el OP no quiere usar jQuery para anexar un elemento, entonces el OP ya no usa jQuery. En mi humilde opinión. – Ryan
La manera más fácil de replicar Jquery método append en JavaScript puro es con "insertAdjacentHTML"
var this_div = document.getElementById('your_element_id');
this_div.insertAdjacentHTML('beforeend','<b>Any Content</b>');
Más Información - MDN insertAdjacentHTML
mira el código fuente jQuery ... – gdoron
¿Tiene que ser una cadena que anexas? –