我想在我的网站上有一个按钮,当它处于事件状态时(单击一次)将目标 _blank
添加到具有特定类的 href
链接,所以他们在新标签页中打开。
这是按钮的代码
<li id="toolbar-display">
<dl>
<dt>Display</dt>
<dd id="toolbar-display-newtab" class="first last"><span>New Tab</span></dd>
</dl>
</li>
然后这是我想添加 _blank
的 href 链接类。
<a class="item-link" href="url">
为此,我使用了以下我从 http://jsfiddle.net/UJMgQ/2/ 修改的 javascript
<script type="text/javascript">
$(function () {
$('#toolbar-display-newtab').click(function () {
if ($(this).toggleClass('active')) {
$('.item-link').attr('target', '_blank');
} else {
$('.item-link').removeAttr('target');
}
});
});
</script>
代码看起来是正确的,但不幸的是它不起作用,我现在不清楚它是没有检测到按钮的事件状态还是无法添加 _blank
。任何帮助将不胜感激 =)
最佳答案
我不确定 toggleClass() 返回什么,但根据我的测试,它不会为您提供可用于 if else 条件的 bool 值。
为什么不试试 hasClass()检测类 active 是否已经设置,然后在检测到它后使用 toggleClass。
我尝试重新编码您的帖子,但我不确定我是否理解您的逻辑。
$(function () {
$('#toolbar-display-newtab').click(function () {
if ($(this).hasClass('active')) {
$('.item-link').attr('target', '_blank');
} else {
$('.item-link').removeAttr('target');
}
$(this).toggleClass('active');
});
});
关于javascript - 在按钮处于事件状态时在新选项卡中打开链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12719989/