Показать сообщение отдельно
  #7 (permalink)  
Старый 02.11.2017, 15:19
Аспирант
Отправить личное сообщение для Exhaust_ Посмотреть профиль Найти все сообщения от Exhaust_
 
Регистрация: 16.09.2014
Сообщений: 52

Rasy, почти то что нужно. Работает замечательно если <div id="PANEL-1"> сам по себе. Но когда их несколько, то работает только первый (посмотрите пожалуйста пример в коде страницы), а их будет очень много в одной странице.

PS: я думал, что код ссылок будет выглядеть как то так:
https://www.google.com.ua/search?q=<script>function(...);</script>&adsdiag=3542360

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>

	<div class="panel panel-default" id="PANEL-1">
		<div class="panel-heading">
			<a class="panel-title collapsed" data-toggle="collapse" data-parent="#panel-1" href="#panel-element-1">1+2</a>
		</div>
		<div id="panel-element-1" class="panel-collapse collapse">
			<div class="panel-body">
				<a href="https://www.google.com.ua/search?q=КЛЮЧЕВОЕ+СЛОВО&adsdiag=3542360">ссылка 1</a>
				<a href="https://www.google.com.ua/search?q=КЛЮЧЕВОЕ+СЛОВО&adsdiag=3542361">ссылка 2</a>
			</div>
		</div>
	</div>
	<div class="panel panel-default" id="PANEL-2">
		<div class="panel-heading">
			<a class="panel-title collapsed" data-toggle="collapse" data-parent="#panel-2" href="#panel-element-2">3+4</a>
		</div>
		<div id="panel-element-2" class="panel-collapse collapse">
			<div class="panel-body">
				<a href="https://www.google.com.ua/search?q=КЛЮЧЕВОЕ+СЛОВО&adsdiag=3542360">ссылка 1</a>
				<a href="https://www.google.com.ua/search?q=КЛЮЧЕВОЕ+СЛОВО&adsdiag=3542361">ссылка 2</a>
			</div>
		</div>
	</div>

	<script>
		(function(parent, title, links, re, window, document) {
			parent = document.querySelectorAll(parent);
			[].forEach.call(parent, function(elem, indx) {
				title = elem.querySelector(title);
				links = elem.querySelectorAll(links);
				[].forEach.call(links, function(link, indx) {
					var href = decodeURI(link.href);
					link.href = href.replace(new RegExp(re), title.textContent.trim());
				});
			});
		})('.panel', '.panel-title', '.panel-body > a', 'КЛЮЧЕВОЕ\\+СЛОВО', window, document);
	</script>	

</body>
</html>
Ответить с цитированием