Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Невидимые атрибуты data-* (https://javascript.ru/forum/jquery/55639-nevidimye-atributy-data-%2A.html)

Aleksanderj 07.05.2015 18:58

Невидимые атрибуты data-*
 
Здравствуйте. Не могу понять... Есть html
<div class="samples-blok">
   <ul class="sample-playlist">       
	        <li data-author="Djmax"
		    data-name="Danger"		    
		    data-url="http://mysite.ru/file/ebd106e2df6fd.mp3"
            data-track-id="27898"	  
		    class="play">
                  </li>
            <li data-author="DjПупкин"
		    data-name="Don"		    
		    data-url="http://mysite.ru/file/ebd10dtytdeddb7df6.mp3"	
            data-track-id="27899"	
		    class="play">
                  </li>
            <li data-author="Вася"
		    data-name="Мой твой"		    
		    data-url="http://mysite.ru/file/ebdtddthdtheddf6fd.mp3"
            data-track-id="27846"	  
		    class="play">
                  </li>
            .......
     </ul>
</div>

Есть jQuery, который выводит отдельную кнопку для каждой записи
var j = $("li.play", i);   
var tex = j.data('author') + j.data('name');
var b = $('<div><a style="height: 20px; width: 20px;float: right;" download="' + tex + '.mp3" href="' + j.data('url') + "?/" + tex + '.mp3" class="button"></a></div>');


Так вот, если переходить на эту страницу по аякс-ссылке, страница подгружается при помощи ajax и если смотреть на разметку через FireBug, то в ней отсутствуют все data-*, кроме data-track-id и class="play". Но если посмотреть исходный код страницы, так все эти атрибуты присутствуют. Появляется проблема с выполнением скрипта из=за отсутсвия атрибутов...
Не могу понять почему в исходном коде видны все атрибуты data, а в FireBug их нет? Как мне прочитать эти невидимые атрибуты?

рони 07.05.2015 19:23

Цитата:

Сообщение от Aleksanderj
var j = $("li.play", i);

что такое i

Aleksanderj 07.05.2015 19:46

рони,Это родитель li, которым я обворачиваю <li></li>
$(".play").wrap("<div class='music'></div>");

рони 07.05.2015 19:58

Aleksanderj,
идём далее как вы определяите i ?
можно и не ходить j у вас скорее всего массив всех li-- проверьте это

Aleksanderj 07.05.2015 20:02

Цитата:

Сообщение от рони (Сообщение 369853)
Aleksanderj,
идём далее как вы определяите i ?
можно и не ходить j у вас скорее всего массив всех li-- проверьте это

Да

рони 07.05.2015 20:07

Aleksanderj,
так
j.each(function(indx, el){
var tex =$(el).data('author') + $(el).data('name'); //....
      });

Aleksanderj 07.05.2015 20:22

рони,
А точно el, а не i? А то у меня из-за el проблемы с циклом выполнения скрипта, а если i ставлю, то нормально. Но всё равно не находит data- атрибуты... Еще хотел сказать, если перезагружаю страницу у меня полностью загружаются data-атрибуты и скрипт что твой, что мой выполняется, но так и раньше было.

рони 07.05.2015 20:33

Aleksanderj,
нет кода нет совета

Aleksanderj 07.05.2015 21:06

Вложений: 1
Вложение 2678

рони 07.05.2015 21:45

Aleksanderj,
увы не осилил ваш код


Часовой пояс GMT +3, время: 19:08.