Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Юзерскрипт для подстановки данных в тег div (https://javascript.ru/forum/project/50419-yuzerskript-dlya-podstanovki-dannykh-v-teg-div.html)

beerb0x 25.09.2014 16:27

Юзерскрипт для подстановки данных в тег 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&amp;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

Aetae 26.09.2014 03:46

Нормальный код. Сократить можно чутка:
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.