jQuery - 打开页面上的所有链接

时间:2008-11-03 21:43:28

标签: jquery

我正在尝试学习jQuery,以弥补我的贫血javascript技能。

作为一个测试项目,我有一个充满链接的页面,我想在页面上有一个按钮,打开新选项卡中的所有链接。链接都具有target =“_ blank”属性。

我正在使用这个

  $('button').click(function() {
    $('a').click();
  );}

我通过修改链接的css测试了选择器语法,所以我确定没问题。为了让链接打开,我需要更改什么?

1 个答案:

答案 0 :(得分:11)

你无法通过javascript操纵标签(你可以要求在新窗口中打开链接,你只是不能告诉它在标签中打开)。如果你想尝试,你可能想尝试的是这样的:

$('button').click(function() {
  $('a').each(function() {
     window.open($(this).attr('href') );
  });
});

基本上,当点击<button>时,对于每个<a>元素,将href值传递给window.open。或者基本上,成堆的打开窗口假设您没有弹出窗口阻止程序:)

您当前的代码基本上说,当您按<button>时,激活所有onclick()元素的<a>处理程序。

编辑:在回复评论时,请比较一下模仿OP功能的代码:

$('a').click(function() {
// assign an event to a.onclick
  window.open($(this).attr('href') );
});

$('button').click(function() {
// when we press <button>, trigger a.onclick
  $('a').click();
});

因为我们首先声明了onclick()功能,所以我们现在具有与原始代码相同的行为。 (成堆的开窗)