Извлечь URL изв заголовке текущего документа - PullRequest
0 голосов
/ 29 декабря 2011

С учетом следующего HTML:

<html>
  <head>
    <link href="http://example.com/g/8c" rel="shortlink" />
  </head>
  <body></body>
</html>

Как мне получить содержимое href = "" в link, rel=shortlink с помощью javascript? Я не знаю, доступны ли такие предметы в голове в DOM.

Тег head может содержать больше тегов ссылок для таких ресурсов, как css. Тег head может содержать более одной ссылки-короткой ссылки (в соответствии со спецификацией HTML5), в этом случае просто выберите первую.

Ответы [ 3 ]

5 голосов
/ 29 декабря 2011

Я бы сделал это с помощью jQuery:

$('link[rel=shortlink]').eq(0).attr('href');

Где:

  • $('link[rel=shortlink]') выбирает соответствующие элементы
  • eq(0) выбирает первый изэти
  • attr('href') выбирает соответствующий атрибут
5 голосов
/ 29 декабря 2011

Вы можете использовать document.head, чтобы получить голову, а затем используйте getElementsByTagName, чтобы получить link теги.

var links = document.head.getElementsByTagName('link');
for(var link in links){
    if(links.hasOwnProperty(link)){
        var l = links[link];
        if(l.rel === 'shortlink'){
          console.log(l.href);
        }
    }
}

ПРИМЕЧАНИЕ: document.head может работать не во всех браузерах (под этим я подразумеваю, что это может не работать в IE). Если это не работает, попробуйте это:

document.head = document.head || document.getElementsByTagName('head')[0];
3 голосов
/ 29 декабря 2011

Ну, с jQuery я бы сделал:

var link_href = $('link', 'head').attr('href');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...