largo preguntajQuery: añadir elemento DOM si no existe
¿Es posible añadir un elemento DOM solamente si no existe ya?
Ejemplo
me han puesto en práctica el requisito de este modo:
var ins = $("a[@id='iframeUrl']");
ins.siblings('#myIframe:first').remove().end().parent().prepend('<iframe id="myIframe" src="'+ins.attr("href")+'"></iframe>');
¿Es posible sustituir la segunda línea con algo más elegante? Como ins.siblings('#myIframe:first').is().not().parent().prepend
...
Pude consultar ins.siblings('#myIframe:first').length
y luego agregar IFrame, pero la curiosidad se apoderó y estoy tratando de hacer eso en la menor cantidad posible de declaraciones.
Fuera de interés, ¿qué pasa si no prestamos atención a la eficiencia, somos al revés sin verificar la propiedad de longitud o utilizar operaciones booleanas "normales"? ¿Hay alguna manera de hacerlo usando solo jQuery y el encadenamiento de funciones? Mi órgano de curiosidad está picando (-. – Audrius
No es que yo sepa, aparte de la solución que publicaste (eliminando primero si existe o no y luego volviendo a agregar). Sin embargo, aquí hay algunas discusiones: http://stackoverflow.com/questions/31044/is-there-an-exists-function-for-jquery –
Ok, gracias por el enlace. – Audrius