我正在尝试学习jQuery,以弥补我的贫血javascript技能。
作为一个测试项目,我有一个充满链接的页面,我想在页面上有一个按钮,打开新选项卡中的所有链接。链接都具有target =“_ blank”属性。
我正在使用这个
$('button').click(function() {
$('a').click();
);}
我通过修改链接的css测试了选择器语法,所以我确定没问题。为了让链接打开,我需要更改什么?
答案 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()
功能,所以我们现在具有与原始代码相同的行为。 (成堆的开窗)