Estoy tratando de eliminar un elemento <a> </a> a través de la ID, que se almacena en una variable, como esta:

function deleteme(counter) {

        alert("Möchten sie wirklick das blau markierte Kreuz löschen?");
         $('<a id=' + counter + '> </a>').remove(); 
    }

Este es el HTML, que trato de eliminar

    <a id="1">
    <p>ID von 1 XPosition 240, YPosition 53<img src="any.jpg" onclick="deleteme(1)"</p>
    </a>

Realicé un alert(counter) para verificar si tiene el IF correcto. Tiene.

¿Cómo puedo arreglar esto?

0
CodeFanatic 3 sep. 2014 a las 15:39

5 respuestas

La mejor respuesta

Estás creando un nuevo elemento en $('<a id=' + counter + '> </a>').

Para seleccionar y eliminar el existente, haga

$('#' + counter).remove(); 
5
Denys Séguret 3 sep. 2014 a las 11:40

Los controladores de eventos de atributos html en línea solo pueden llamar a funciones globales. Su función deleteme no es global porque está definida dentro de su manejador de documentos listos, por lo que su onclick = "deleteme ()" no puede encontrarla. Debe mover la función fuera del controlador listo (haciéndola global) o, mejor, vincular el clic con jQuery

$("#id").click(function () {
    $('#' + counter).remove();
});
0
Ahmed_Ali 3 sep. 2014 a las 11:44

Solo usa la selector Id

function deleteme(counter) {    
            alert("Möchten sie wirklick das blau markierte Kreuz löschen?");
             $('#'+ counter).remove(); 
        }
0
Prabu Parthipan 3 sep. 2014 a las 11:42

Estás usando mal la selector en $()

Úselo así:

$('#' + counter)

Siempre use css-selectos en $, las etiquetas html no funcionarán.

En caso de que no sepa nada sobre CSS-Selectors, sugiero una introducción a css, como en codeacademy.

Además, estoy bastante seguro de que los ID no pueden comenzar con un número; considere cambiarle el nombre a "p1" o "párrafo1" o algo así.

En general, recomiendo encarecidamente http://www.codecademy.com/en/tracks/jquery este enlace.

0
Kjeld Schmidt 3 sep. 2014 a las 11:43

De esta manera, se puede invocar la función en más de un elemento que desea eliminar

HTML

<a id="1">
   <p>ID von 1 XPosition 240, YPosition 53<img src="any.jpg" onclick="javascript:deleteme($(this))"/></p>
</a>

Javascript

function deleteme(counter) {
    alert("Möchten sie wirklick das blau markierte Kreuz löschen?");
    counter.parent('a').remove(); 
}
0
kefy 3 sep. 2014 a las 11:46