установить содержимое кнопки «Tweet» «data-text» динамически с помощью JavaScript или ..?

Вот функциональный код в форме, которая отображает кнопку Tweet - кнопка в форме, отображающей несколько изображений, - когда пользователь нажимает одно из изображений, оно становится «выбранным» изображением, а кнопка Tweet должна твитнуть имя и URL выбранного изображения:

      <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>   

У меня есть обработчик onclick () для div, который отображает изображение. Когда пользователь щелкает одно из изображений, вызывается его обработчик onclick () его div и устанавливает это изображение в качестве «currentSelectedImage» на странице, а затем обработчику onclick () необходимо обновить «data-text» кнопки Tweet Атрибут с именем только что выбранного изображения:

          // 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>

Мне нужно динамически изменить значение атрибута «data-text» в кнопке Tweet, чтобы оно стало именем выбранного изображения. Я добавил приведенный выше код javascript, который завершается ошибкой - 'elem', полученный из кода здесь:

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

является нулевым (я думаю) из-за этой строки в коде кнопки твита Twitter:

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

Я не уверен, но похоже, что скрипт по умолчанию для кнопки Twitter Tweet перезаписывает любые попытки добавить атрибут 'id' к кнопке Tweet.

Вы увидите, что я добавилID = "tweetBtnId" на кнопку Tweet выше, чтобы я мог получить доступ к кнопке Tweet в моем обработчике onclick () image-selection выше, затем установить«Данных текст» на имя только что выбранного изображения.

Я просто сомневаюсь, что цель разработки Twitter для кнопки Tweet заключалась в том, что «мы будем тупить этот присосок ПУТЬ, мы позволим этим животным выбирать ОДНО значение текст-данные - каждая кнопка Tweet должна иметь одну жестко закодированную» -on-the-page "атрибут data-text - шутить над ними, если они пытаются динамически изменить атрибут data-text кнопки Tweet".

Мне нужно заставить это работать - есть идеи?

Ответы на вопрос(4)

Ваш ответ на вопрос