span - insertar codigo html con jquery
¿Cómo puedo reemplazar el texto de una etiqueta HTML? (6)
La forma más sencilla es colocarlo en un lapso con una identificación como esta:
<div id=''myDiv''>
<span id="myInnerText">This is the semi-inner text</span>
<div id=''other''></div>
This is the semi-inner text
<div>
Luego reemplázalo así:
$("#myInnerText").text("replacement text");
No sé cómo llamarlo, pero déjame llamarlo texto semi interno.
Ejemplo
<div id=''myDiv''>
This is the semi-inner text
<div id=''other''></div>
This is the semi-inner text
<div>
Quiero eliminar / reemplazar ésos This is the semi-inner text
usando jquery.
¿Cómo puedo hacer eso?
Si solo te importan los nodos secundarios ...
$(''#myDiv'').contents().filter(function() {
return this.nodeType == 3
}).each(function() {
this.data = this.data.replace(/This is the semi-inner text/g, ''swapped'');
});
jsFiddle .
Si desea verificar todos los nodos descendientes, haga que la función sea recurrente cuando detecte un nodo de elemento ( this.nodeType == 1
).
Use contents () y filtre todo nodeType que sea igual a 3 y elimínelos:
$(''#myDiv'').contents().filter(function() {
return this.nodeType == 3;
}).remove();
Use el siguiente código para reemplazar el contenido
$("#other").html("your code");
y el usuario ajusta su código en la etiqueta span con id
también podrías hacerlo así:
target_div = $("#myDiv")
reg_exp = /This is the semi-inner text/g;
new_text = "some other text"
target_div.html(
target_div.html()
.replace(
new RegExp(reg_exp),
new_text)
);
});
$(''#myDiv'')
.contents()
.filter(function() {
return this.nodeType == 3;
})
.each(function() {
$(this).remove();
});