Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Получить ссылку из href. Возможно ли? (https://javascript.ru/forum/jquery/16884-poluchit-ssylku-iz-href-vozmozhno-li.html)

Physicist 26.04.2011 19:30

Получить ссылку из href. Возможно ли?
 
Здравствуйте. Меня интересует решение следующей задачи.
Возможно ли по id тега <a ....></a> узнать содержимое его href? И под содержимому href загрузить содержимое уже самой ссылки и вывести её в каком-нибудь dive?
То есть есть сайт, и я хочу, чтобы при нажатии на его ссылки он весь не перезагружался, а менялся лишь его контейнер посередине (а шапка, футер, сайдбары не менялись). Ссылок на сайте слишком много. Поэтому не разумно для каждой ссылки прописывать всё отдельно. А например задать class в тегах <a ...></a>, а javasript сам определит на какую ссылку именно был onclick и прочет содержимое href и на него сошлется. :blink:

melky 26.04.2011 19:38

<a id=1 href=http://google.ru>Google</a>

<script>

var href = document.getElementById('1').href
alert( href )

location.href = href
</script>


мой совет, скачайте на народах или депозитах Подробное руководство

я её на новогоднюю ночь читал :)

poorking 26.04.2011 19:41

<!DOCTYPE html>
<meta charset = "utf-8" />
<script type = "text/javascript">


window.onload = function(){
		
	var As = document.getElementsByTagName("A");

	for(var i = 0, l = As.length; i < l; i ++){
		As[i].onclick = function(href){
			return function(){
				alert(href);
			}
	 
		}(As[i].href);
		
		As[i].href = "javascript: void 0";
	}
}
</script>
<style type = "text/css">
	
</style>

<a href = "http://www.yandex.ru">Yandex</a>
<a href = "http://www.google.com">Google</a>
<a href = "http://www.yahoo.com">Yahoo</a>


ПС
прошу прощения, не обновил перед отправкой поста, уже показали

Physicist 27.04.2011 06:27

Нет. Не то. Не даром я создал эту тему в разделе jQuery. Меня интересует решение на jQuery. И ещё есть проблема, если хранить ссылки в href. Браузер на них переходит. А как отключить, чтобы браузер на них не переходил, если выполнился js? То есть моя цель такова: если у пользователя отключен js (ну или тот же поисковик например), то он стандартно грузит страницы. А если есть js, то просто загружать данные в div, не меняя остальных элементов страницы. В полных руководствах, в гугле и т.д. куча примеров, но они направлены, если href="#"

poorking 27.04.2011 08:17

я же показал
window.onload = function(){
тут получаете нужные вам гиперссылки
и подменяете href на "javascript: void(0)"
а onclick назначаете обработчик который выполняет какой то js

}

Если js отключен то гиперссылки не изменятся

melky 27.04.2011 13:26

ужас.

ну на тебе jQuery



<a id=1 href=http://google.ru>Google</a>

<script src="http://yandex.st/jquery/1.5.2/jquery.min.js"></script>
<script>

var href = $("a#1").*!*attr('href')*/!*;

alert( href+'\n\n А теперь нажмите на ссылку' )


$("a").click(function(){ 

alert('Не переходим!');

 *!*return false;*/!*

 })

</script>

Physicist 28.04.2011 20:12

Всем отозвавшимся спасибо. В суть дела въехал, заодно и JS и его библиотеку jquery вспомнил, всё что задумал получилось. Плюсики вам в карму.

0931454574 29.04.2011 16:58

Нужно отлавливать событие клик на элементе и отключать его!

poorking 30.04.2011 09:08

melky,
У меня возник такой вопрос, как я поглядел на ваш пример,
Цитата:

Сообщение от melky
id=1

Вроде как по спецификации id обязательно должен начинаться на латинский символ, но getElementById нормально с этим работает, однако querySelectorAll("#1") кинет ошибку. jQuery на такие id тоже не ругается, хотя вопрос вобщем-то риторический ))
Даже не знаю в чем вопрос, наверно, правильно ли сделал автор jquery, что позволил делать такие выборки, ведь по сути это синтаксическая ошибка

Kolyaj 30.04.2011 09:35

Цитата:

Сообщение от poorking
Вроде как по спецификации id обязательно должен начинаться на латинский символ

http://javascript.ru/forum/events/13...a-s-cifry.html


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