Юзерскрипт для подстановки данных в тег div
Имеется кусок кода:
<div class="box box_info box_userinfo_stats"> <div class="head colhead_dark">Statistics</div> <ul class="stats nobullet"> <li>Joined: <span class="time tooltip" title="Nov 13 2009, 17:00">4 years, 10 months ago</span></li> <li>Last seen: <span class="time tooltip" title="Sep 25 2014, 12:09">Just now</span></li> <li class="tooltip" title="187.40092 GB">Uploaded: 187.40 GB</li> <li class="tooltip" title="66.80858 GB">Downloaded: 66.81 GB</li> <li>Ratio: <span class="tooltip r20" title="2.80504">2.80</span></li> <li>Required Ratio: <span class="tooltip" title="0.50909">0.51</span></li> <li><a href="userhistory.php?action=token_history&userid=187313">Tokens</a>: 0</li> </ul> </div> Для этой страницы нужно взять строки с Uploaded и Downloaded и подставить эти данные в div вместо Statistics. У меня вышло так: function statsShow() { var id1 = document.querySelector('div.box.box_info.box_userinfo_stats').querySelector('div.head.colhead_dark'); var id1_Text = id1.childNodes[0].nodeValue; // сохраняем старое значение var seedID = document.querySelectorAll('li.tooltip')[0].childNodes[0]; var leechID = document.querySelectorAll('li.tooltip')[1].childNodes[0]; id1.childNodes[0].nodeValue = seedID.nodeValue + ' / ' + leechID.nodeValue; } Код ужасен, это я понимаю. Как его можно улучшить, сделать более универсальным? Браузер FF32.0.1 |
Нормальный код. Сократить можно чутка:
var head = document.querySelector('.box_userinfo_stats > .head'), tooltip = document.querySelectorAll('.box_userinfo_stats li.tooltip'); head.textContent = tooltip[0].textContent + ' / ' + tooltip[1].textContent;А вот как сделать универсальным код, который выполняет конкретную узкую задачу - забавный вопрос.) |
Часовой пояс GMT +3, время: 06:38. |