Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > как узнать есть ли на странице нужная ссылка


Автор: Abr 23.8.2006, 10:49
мне необходимо узнать есть ли на странице нужная ссылка. я планирую пройтись по всему документу перебрав все ссылки и сравнить каждую с нужным мне значением, значение href пытаюсь получить  следующим образом: 
var link=window.document.main.document.links[i].href.value;
но в результате link undefine. 
вопрос: как получить  в виде строки значение href и есть ли более оптимальный алгоритм чем перебор всех ссылок?

Автор: Darhazer 23.8.2006, 11:05
а откуде у тебе main.document
не надо ли просто window.document.links...
Ище - не links а anchors
И наконец - просто href
Код
var link=window.document.anchors[i].href;

Автор: Abr 23.8.2006, 11:29
так вообще по ошибке вылетает:
'document.anchors.0.href' is null or not an object
на такой строчке:
var link=window.document.anchors[0].href;

Автор: Darhazer 23.8.2006, 11:58
Извини меня
anchors - для <a name>
links - для <a href>
правильно так:
Код
var link=window.document.links[i].href;

Автор: 12345c 23.8.2006, 13:37
А после onload делаете?
Код
<a href=33></a>
<script>
onload=function(){alert(document.links[0].href);}
</script>
Перебирать придётся.

Автор: skyboy 23.8.2006, 14:24
или getElementsByTagName('a'), потому как нельзя быть уверенным, что массивы для отдельных объектов и дальше будут поддерживаться... 

Автор: Abr 23.8.2006, 14:42
спасибо, var link=window.document.links[i].href работает как надо.
на данный момент я выбираю такую вот ссылку:

<a href="href_path"  >inner xml </a>
по href_path и работаю относительно него, а могу ли я как то достучаться до inner xml.

Автор: Darhazer 23.8.2006, 14:50
Код
window.document.links[0].innerHTML

Автор: skyboy 25.8.2006, 11:18
или 
Код

window.document.links[0].firstChild.nodeValue

вариант "по правилам DOM":
Код

window.document.getElementsByTagName('a')[0].firstChild.nodeValue


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)