Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.09.2014, 16:27
Новичок на форуме
Отправить личное сообщение для beerb0x Посмотреть профиль Найти все сообщения от beerb0x
 
Регистрация: 31.08.2014
Сообщений: 1

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

Последний раз редактировалось beerb0x, 25.09.2014 в 16:30.
Ответить с цитированием
  #2 (permalink)  
Старый 26.09.2014, 03:46
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,588

Нормальный код. Сократить можно чутка:
var head = document.querySelector('.box_userinfo_stats > .head'),
    tooltip = document.querySelectorAll('.box_userinfo_stats li.tooltip');
head.textContent = tooltip[0].textContent + ' / ' + tooltip[1].textContent;
А вот как сделать универсальным код, который выполняет конкретную узкую задачу - забавный вопрос.)
__________________
29375, 35

Последний раз редактировалось Aetae, 26.09.2014 в 03:50.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка данных в textarea из модального окна (для Markitup) Roman Koff jQuery 0 26.08.2010 23:21
JavaScript для поиска данных в текстовых БД - Вопрос по скрипту zzibn Общие вопросы Javascript 0 05.06.2010 13:22
Какие инструменты нужны для авт.чтения данных с сайта Evgeny2006 Общие вопросы Javascript 3 18.02.2009 16:07
Не работает AppendChild для div, причём только в IE _Kpot_ Internet Explorer 5 12.02.2009 10:55
Сохранение данных для передачи с одной страницы в другую Andrey Freeman Общие вопросы Javascript 6 15.09.2008 22:32