JQuery - 使用选择器获取价值

时间:2010-09-24 19:58:27

标签: jquery html dom

我正在尝试在页面完全加载后选择页面上的第一个链接,并将页面重定向到第一页上的链接。

我理解如何使用选择器,但是我很难理解如何在页面加载后拾取第一个项目。我假设一旦我拥有了我可以使用的价值

window.location = "http://www.google.com/"

一旦我拥有动态链接的值,然后将用户带到正确的页面。

5 个答案:

答案 0 :(得分:4)

jQuery(document).ready(function() {
   window.location = jQuery("a[href]:first").attr("href");
});

具有:first伪类的选择器选择第一个匹配的元素。有关选择器的更多信息,请查看jQuery's excellent documentation

修改

实际运行我的代码并发现它返回一个空字符串。这是因为它正在拾取第一个{em>而具有a属性的href标记。我已将选择器更改为仅选择具有a属性的href标记。

答案 1 :(得分:3)

对于您的选择器,请先使用:这将为您提供页面上的第一个锚标记。然后,您可以将位置设置为锚标记的href属性。

类似的东西:

location = $("a:first").attr("href");

答案 2 :(得分:2)

我会指出重定向很容易被击败。不要依赖这个“安全”。

您可能还会发现需要第一个实际拥有href的锚点

$("a[href]:first").attr("href");

答案 3 :(得分:1)

您是否在页面的脚本标记中偶然使用此语法?

$(document).ready(function(){
   // Your code here
 });

答案 4 :(得分:0)

$(document).ready(function(){
  $('a').each(function(){
    if($(this).attr('href').indexOf('http')==0) {
      window.location = $(this).attr('href');
    }
  });
});

此代码将起作用,因为: 它确保页面不会采用静态锚标记()并将其误认为是链接。如果它以http:开头,它将只使用该链接。如果不是,它将转到下一次出现的标记。