Hola:
Hablaremos de una ensalada compuesta de semántica, etiquetas, SEO, html, javascript, accesibilidad, etc.
La semántica de la etiqueta "a" es anclar o enlazar... como anclaje se usa el atributo name, y se puede ir al ancla con un enlace interno... por ejemplo:
<a name="ancla" >ancla</a>, y se puede llegar desde cualquier punto de la página con algo así:
<a href="#ancla">ir al ancla</a>... pero también se puede usar esa misma sintaxis para cualquier elemento con id="ancla".
O sea, si tu div es
<div id="texto_3"><!-- aquí el contenido --></div>
... puedes enlazar internamente con el enlace:
<a href="#texto_3">ir a texto_3</a>.
Pero solo hacemos un enlace interno... si queremos algún comportamiento desde un script debes definirlo tal como hacías.
Pero ¿tiene sentido usar un enlace?
Si solo quieres usar el script, no es necesario un enlace... el comportamiento puede lanzarse con cualquier elemento html como un simple span.
Si ese contenido es relevante para la página está bien el enlace, pero ¡ahora llega el turno de la accesibilidad!
Si tienes el texto oculto y quieres mostrarlo con javascript, nunca será accesible con javascript desactivado, así que los pasos lógicos serían tenerlos visibles desde el principio y ocultarlo al cargar la página (load)...
También te recomiendo que leas algo sobre código no-intrusivo, accesibilidad y semántica.
Saludos