Con dentro de un jQuery sustituir con () Función
-
26-09-2019
- |
-
-
26-09-2019 - |
Pregunta
Estoy trabajando en un documento de PHP que tiene el código jQuery en ella. Estoy utilizando un Vuelvaa () para despojar divs exteriores y reemplazar con el palmo. parece que sólo puedo reemplazarlo con <span>
y no <span class="something">
¿Por qué es eso?
Editar : Este es un ejemplo del código:
Gracias a Dave, pero en realidad utilizar la segunda opción en el código anterior, esto es lo que estoy tratando de hacer:
$response[] = "jQuery('#myID').replaceWith('<span>'+jQuery('#myID').html()+'</span>');";
El código anterior funciona. Básicamente, tengo un elemento <a>
quiero reemplazar con un elemento <span>
y cambiar la clase de una respuesta Ajax.
Ahora, si añado clases a cualquiera de los tramos anteriores :, así:
$response[] = "jQuery('#myID').replaceWith('<span class"something">'+jQuery('#myID').html()+'</span>');";
se rompe el código, es que debido a las comillas dobles exteriores de la cuenta de jQuery?
Editar
Por lo tanto, resultó ser un problema con mi elemento <a>
yo estaba tratando de reemplazar, además de escapar de las comillas dobles alrededor de la clase :). Gracias por la ayuda extremadamente rápido. Estoy registrando para dar crédito a quien se debe:)
$response[] = "jQuery('#myID').replaceWith('<span class=\"something\">'+jQuery('#myID').html()+'</span>');";
Solución
Dado que el cambio más grande no es la adición de cotizaciones, vuelve a comprobar que el atributo de clase no está dejando una cadena incompleta abierta:
// Broken:
$("div").replaceWith("<span class="something">");
// Fixed:
$('div').replaceWith('<span class="something">');
Otros consejos
Para facilitar la lectura, y que no induzca a sí mismo de esta manera, considerar el uso de esta sintaxis para la inserción de jQuery en lugar DOM:
var myDiv = jQuery('#myID');
$('<span></span>').html(myDiv.html()).addClass('something').replaceAll(myDiv);
Ah, y si se fijan bien en la forma en que el código se pone de relieve en la pregunta anterior, ya se puede ver lo que estás haciendo mal;)