Jump to content
  • 0

Массив ссылок


alexandr_v-vich
 Share

Question

Всем добрый день. Возник вопрос. Такой код


function setupHistoryClicks() {
var arr = document.getElementsByTagName("a");
for(var i=0; i<arr.length; i++) {
alert(arr[i]);
}
}

Он мне возвращает массив ссылок, т.е. самих адресов. Но мне нужен именно массив тегов <a>. Подскажите, пожалуйста, как мне этого добиться.

А вообще, в итоге, код переводит мне нужную ссылку в var link. И из этого link мне нужно вытащить два объекта (картинку(link.getElementsByTagName("img")[0]) и текст(link.getElementsByTagName("p")[0])). Но я не могу вытащить что-либо из link, поскольку он равен = "http://www.sight.ru" ....вот, как то так.

Edited by alexandr_v-vich
Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Он мне возвращает массив ссылок, т.е. самих адресов. Но мне нужен именно массив тегов <a>. Подскажите, пожалуйста, как мне этого добиться.

Он возвращает массив ссылок. Только у ссылок есть хитрость при приведении этого объекта к строке.

Попробуйте alert(arr.nodeName)

Link to comment
Share on other sites

  • 0

s0rr0w, он мне выводит имя тега - A. А мне нужно что-то типа [object HTMLParagraphElement], только это для <p>, а мне надо для <a>..

br3t, target - undefinded, ну и В общем таже тема..

K313, Нужен сам объект. Выше написано, для <p> работает, нужно также для ссылок

Link to comment
Share on other sites

  • 0

Наверное стоит описать конечную задачу...

в итоге код переводит мне нужную ссылку в var link. И из этого link мне нужно вытащить два объекта (картинку(link.getElementsByTagName("img")[0]) и текст(link.getElementsByTagName("p")[0])). Но я не могу вытащить что-либо из link, поскольку он равен = "http://www.sight.ru" ....вот, как то так.

Edited by alexandr_v-vich
Link to comment
Share on other sites

  • 0
т.е. у вас последовательность что то вроде <A><IMG>text</A> ?

Почти, - <A><IMG><P>text</P></A>

K313,

каждый arr и есть объект, а не строка или ещё чего...

какой вам ещё объект нужен?

Да, извиняюсь, действительно. Проблема где то в другом, ща поищем..

Edited by alexandr_v-vich
Link to comment
Share on other sites

  • 0

ну вот, теперь с каждым arr.getElementsByTagName('IMG')[0].src и arr.getElementsByTagName('P')[0].innerText только еслм где то не окажется img или p то функция вылитет поэтому лучше последовательно с проверкой...

А если на 100% последовательнось такая и для всех, то можно ещё так arr.children[0].src и arr.children[1].innerText

  • Like 1
Link to comment
Share on other sites

  • 0
<a href="#"><img src="http://forum.htmlbook.ru/public/style_emoticons/default/rolleyes.gif" alt=""><p>text</p></a>

<script>
// with лучше не использовать, только для примера
with( document.getElementsByTagName( 'a' )[ 0 ] ) {
alert(
children[ 0 ].tagName + '\n' +
children[ 1 ].tagName
);
}
</script>

Edited by nerv
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy