我有一个 ID 为“MyDiv”的 div,我需要该 div 的所有子锚点在新窗口中打开。
我正在努力:
jQuery('#MyDiv.children() a').click(function(){
jQuery(this).attr('target', '_blank');
});
我有一个 ID 为“MyDiv”的 div,我需要该 div 的所有子锚点在新窗口中打开。
我正在努力:
jQuery('#MyDiv.children() a').click(function(){
jQuery(this).attr('target', '_blank');
});
$('#MyDiv a').attr ('target', '_blank');
如果您不确定此属性的工作原理,请阅读以下内容:
如果您不喜欢使用target="_blank"
(在编写 xHTML 时经常不赞成使用),您可以将单击事件绑定到锚点并使用 javascript/jquery 打开一个新窗口。
比如下面的例子:
$('#MyDiv a').click(function(ev) {
window.open(this.href);
ev.preventDefault (); // see post comment by @nbrooks
});
问题是主选择器。.children()
不是 CSS 选择器的有效部分。如果space在 css 选择器中添加 a,则选择器的以下部分将在所有子节点中搜索。如果您只想在直接子节点中搜索,则可以使用>
。例如替换#MyDiv.children() a
为#MyDiv>a
:
jQuery('#MyDiv>a').click(function(){
jQuery(this).attr('target', '_blank');
});
或者您可以使用:
jQuery('#MyDiv>a').click(function(oEvent) {
oEvent.preventDefault();
window.open($(this).attr('href'), '_blank');
});
你可以摆脱.children()
选择器中的。
标记:
<div id="MyDiv">
<a href="http://wwww.google.com">1</a>
<a href="http://wwww.google.com">2</a>
<a href="http://wwww.google.com">3</a>
<a href="http://wwww.google.com">4</a>
</div>
jQuery:
$('#MyDiv a').click(function(){
$(this).attr('target', '_blank');
});
这可能对你有用
$('#MyDiv a').live('click', function() {
window.open($(this).attr('href'));
return false;
});