我有一个div,在我的网站上有多个页面。我不想将每一个专门设置为在新窗口中打开,而是希望特定div中的所有链接在新窗口中打开。我怎么能用HTML / CSS / javascript做到这一点?
由于
答案 0 :(得分:2)
这是你如何用jQuery做到这一点
如果您有类似<div class="myLinks">...</div>
$('.myLinks a').attr("target", "_blank");
答案 1 :(得分:2)
好吧,我猜有两种合理的方法可以在新窗口中从锚点打开 href 。
node
并将其target
设置为_blank
(<a href="foo" target="_blank"></a>
)使用Javascript捕获点击事件,阻止默认行为并致电window.open()
var anchors = document.querySelectorAll('#mydiv a');
[].forEach.call(anchors, function(anchor) {
anchor.addEventListener('click', function(e) {
window.open(e.target.href, 'mywindow', '_blank');
e.preventDefault();
e.stopPropagation();
}, false);
});
该示例代码是vanilla Javascript,它只能在兼容W3C的浏览器(!= IE)中使用。
如果您能够负担得起使用JS框架,那么实时更容易,因为所有这些都会为您抽象浏览器差异。
答案 2 :(得分:1)
我认为你在某些页面中有这样的div和链接:
<div id="myDiv">
<a href="Link Url">Link Text</a>
<!--some other elements-->
</div>
您需要创建一个像bellow一样的js文件并将其添加到所有页面的末尾:
var div = document.getElementById("myDiv");
if (div) {
for (var i = 0; i < div.childNodes.length; i++)
{
if (div.childNodes[i].nodeName.toLowerCase() == "a")
div.childNodes[i].target = "_blank";
}
}
以及你需要做的一切! 这段代码足够快,甚至不需要JQuery。
答案 3 :(得分:0)
您可以使用javascript和jQuery。
首先,我建议DIV标识为outgoing
。
<div id='outgoing'>
<a href='http://google.com'>Go to Google</a><br>
<a href='http://stackoverflow.com'>Look at SO!</a>
</div>
现在我们可以使用简单的JavaScript动态地将target='blank'
添加到这些链接中:
$(function() {
$('#outgoing a').attr('target', '_blank');
});
答案 4 :(得分:0)
你不能使用jQuery迭代指定div中的所有链接,然后将目标设置为“_blank”。