Estoy trabajando en un sitio web de WordPress.

Todo lo que quiero hacer es agregar el atributo onclick="off() a una clase div existente a través de javascript (para que el div siempre tenga este atributo cuando se carga el sitio). el complemento de contenido que uso crea div automáticamente, por lo que, en lugar de editar el código fuente cada vez, parece una solución rápida y agradable.

En este momento estoy intentando esto, pero no funciona (no sé casi nada sobre js):

function myfunction() {
    document.getElementById("#content_al").setAttribute("onclick","off")
}

Leí muchos hilos pero no pude hacerlo funcionar, ¿alguien puede ayudarme :)?

1
yisharu 5 mar. 2018 a las 12:26

3 respuestas

La mejor respuesta

Para agregar un controlador de eventos, debe usar addEventListener. A continuación se muestra cómo puede hacerlo con JavaScript de vainilla.

function myfunction() {
    document.getElementById("content_al").addEventListener("click",off)
}

Donde off es un function A continuación se muestra un fragmento de trabajo. Espero que esto ayude :)

function toggleDisplay() {
  let display = document.getElementById("content_al").style.display;

  document.getElementById("content_al").style.display = display == "none" ? "block" : "none";
}

function myfunction() {
  document.getElementById("hide").addEventListener("click", toggleDisplay);
}
myfunction();
<div id="content_al"> Some Content </div>

<button id="hide">Hide/Show</button>
0
Manish 5 mar. 2018 a las 10:14
  • off en setAttribute debe ser off()
  • No pase # en document.getElementById("#content_al"), en su lugar pase la identificación simple, es decir, content_al
function myfunction() {
  document.getElementById("content_al").setAttribute("onclick", "off()")
}

function off() {
  console.log("clicked on off!");
}

myfunction();
<div id="content_al"> Some Content </div>
2
void 5 mar. 2018 a las 09:30

Prueba jquery. es fácil

jQuery("#content_al").click(function(){
    //do action
});

Este código define un evento de clic para su elemento y puede escribir su acción para que se ejecute después del evento activado.

1
Ali_Hr 5 mar. 2018 a las 10:05