【问题标题】:How can I get the href of a <link> tag using jQuery?如何使用 jQuery 获取 <link> 标签的 href?
【发布时间】:2011-02-01 15:03:09
【问题描述】:

我已经看到很多关于如何使用标签执行此操作的内容,并且使用该标签执行此操作没有问题,但我似乎无法检索 &lt;link&gt; 标签的 href 属性。

甚至试图抓住链接标签:

alert($("link").length);

给出 0。

有什么想法吗?

谢谢,
马特

【问题讨论】:

    标签: jquery jquery-selectors css-selectors hyperlink link-tag


    【解决方案1】:

    我的猜测是,由于某种原因,当您执行警报语句时链接标签不可用。当我尝试以下示例时:

    <html>
    <head>
    <link rel="stylesheet src="xxx" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    <script type="text/javascript">
        $(document).ready(function(){
            alert($("link").length);
        });
    </script>
    </head>
    <body>
    Hello world!
    </body>
    </html>
    

    它巧妙地返回“1”,而不是“0”。也许您可以尝试找出您的代码与此示例之间的差异。例如:您是从 HEAD 还是从 BODY 标签运行代码?

    【讨论】:

      【解决方案2】:

      如果 $("link").length 返回 0,则您的选择器没有提供任何内容,并且根本没有获得链接的希望。

      你需要一个更好的选择器。也许通过 ID (#linkId) 或特定类等来攻击它。你可以使用大量的选择器:

      http://api.jquery.com/category/selectors/

      您的第一步是让 .length 显示为 1。然后从那里 .attr('href') 会给你链接位置。

      编辑: 对不起,误解了你的目的。我在想你的意思是锚标签。以下是我成功访问链接标签的方式:

      var links = window.document.getElementsByTagName('link');
      $(links).each(function() {
          $(this).attr('href')  // this is your href for the link tag in the loop
      });
      

      【讨论】:

      • 我实际上有一个 var 中包含的 html...我已经从另一个站点中提取了一个页面,我正试图从链接标签中提取一个 href。当我提醒变量时,它清楚地显示有链接标签,但如果我这样做: html.getElementsByTagName('link').length 或 $("link", html).length 都给出 0...
      • 我很困惑。 window.document.getElementsByTagName('link') 返回一个包含多个项目的数组(文档 中的每个 一个)但是我的匿名函数根本没有被调用(通过添加 console.log(' X') 到函数中,或通过向其添加断点)
      • @Tartley:这是假设您将 jQuery 用于 .each() 函数。你在用 jQuery 吗?
      • 嘿,感谢 macca1 的回复。我的文档中确实有一个脚本标记引用了 jQuery,但我不确定我还需要做什么。不过不要担心,我放弃了并以完全不同的方式做到了,所以我不再担心它。我的 javascript/jQuery 教育将不得不再等一天。
      猜你喜欢
      • 2016-01-22
      • 2019-05-30
      • 2023-02-02
      • 2015-04-14
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 2021-12-26
      相关资源
      最近更新 更多