set Tweet botón 'texto de datos' contenidos dinámicamente con javascript, o ..?

Aquí está funcionando el código en un formulario que muestra un botón Tweet (el botón está en un formulario que muestra varias imágenes) cuando el usuario hace clic en una de las imágenes, se convierte en la imagen 'seleccionada' y se supone que el botón Tweet debe tuitear el nombre y la url de la imagen seleccionada:

      <a id="tweetBtnId" href="https://twitter.com/share" class="twitter-share-button" 
         data-text="Check me out on OurWebSite!"
         data-url=http://$ourSiteURL
         data-via=http://$ourSiteURL data-size="medium" data-count="none">Tweet</a>
     <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0]; 
            if(!d.getElementById(id)){js=d.createElement(s); js.id=id; 
              js.src="//platform.twitt,er.com/widgets.js"; fjs.parentNode.insertBefore(js,fjs);}}
                (document,"script", "twitter-wjs");</script>   

Tengo un controlador 'onclick ()' para el div que muestra la imagen. Cuando el usuario hace clic en una de las imágenes, se llama al controlador onclick () de su div y establece que esa imagen sea la 'imagen actualmente seleccionada' en la página, y el controlador onclick () necesita actualizar el 'texto de datos' del botón Tweet. atributo con el nombre de la imagen recién seleccionada:

          // This is part of the code of the 'onclick()' handler for
          // the image being selected. 
         <script> 
         function handleImageOnClick()
         {
           var myDynamicTweetText = "name of currently-selected image goes here";
           var elem = document.getElementById("tweetBtnId");
           alert("The elem is: " + elem);  // elem IS NULL !!  Dagnabbit.

           // this fails because 'elem' is null
           elem.setAttribute("data-text", myDynamicTweetText);

           // other onclick() code not shown for brevity......
         }
         </script>

Necesito cambiar dinámicamente el valor del atributo 'texto de datos' en el botón Tweet para que sea el nombre de la imagen seleccionada. Agregué el código de JavaScript anterior que falla: el 'elemento' obtenido del código aquí:

    var elem = document.getElementById("tweetBtnId");

es nulo (creo) debido a esta línea en el código del botón de tweet de Twitter anterior:

   if(!d.getElementById(id)){js=d.createElement(s); js.id=id;

No estoy seguro, pero parece que la secuencia de comandos predeterminada del botón Tweet de Twitter sobrescribe cualquier intento de agregar un atributo 'id' al botón Tweet.

erás que agregué la id = "tweetBtnId" al botón Tweet arriba para poder acceder al botón Tweet en mi controlador onclick () de selección de imágenes arriba, luego establezca el 'texto de datos' al nombre de la imagen recién seleccionada.

Solo dudo que el objetivo de diseño de Twitter para el botón Tweet era "vamos a hacer tontos a este tonto MUCHO, solo dejaremos que estos animales elijan UN valor de texto de datos; cada botón Tweet debe tener un código rígido". Una vez en la página "atributo de texto de datos - bromean si tratan de cambiar dinámicamente el atributo de texto de datos del botón Tweet".

Necesito que esto funcione, ¿alguna idea?

Respuestas a la pregunta(8)

Su respuesta a la pregunta