Estoy tratando de eliminar o vaciar el elemento usando JAVASCRIPT, pero debe ser el elemento que pasamos a la función como parámetro. Tiene que funcionar onClick por ejemplo, todo tiene que funcionar dinámicamente, pero no puedo hacerlo funcionar. Aquí está mi código hasta ahora:
function deleteElement(selector, type) { switch (type) { case `${"delete" || "remove"}`: document.querySelector(selector).remove(); break; case "empty": document.querySelector(selector).innerHTML = ""; break; // if user doesn't enter desired outcome, the element will be deleted by default default: document.querySelector(selector).remove(); break; } }Mi pregunta es, usando este código, ¿cómo puedo realizar una acción en el elemento seleccionado dinámicamente?
Si desea eliminar el elemento sin usar un selector cuando se activa, puede pasar this como parámetro en lugar de selector:
function removeEl(element){ element.remove(); } <div onclick="removeEl(this)">click</div> Si desea tener un detector de eventos para todos los divs que comparten una misma clase/atributo/principal... puede hacerlo así: ( en este ejemplo, el selector compartido entre sus elementos es div[data-type] )
// looping thourgh all 'div's having a 'data-type' attribute document.querySelectorAll('div[data-type]').forEach(element => // adding a simple onclick event listener element.onclick = () => element.remove() ) <div data-type="hi">Hey</div> <div data-type="type">Yes sir</div>Estoy bastante seguro de que debe haber una solución más elegante, pero si realmente necesita un oyente, podría hacer algo como esto:
clickable.addEventListener("click",(selector, type) => {deleteElement('section')}); donde se clickable en un elemento DOM que puede configurar con un querySelector.