我正在尝试在我的网站上设置一个按钮,当它处于活动状态时(单击一次)会将目标_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>
然后这是一个href链接类,我想将_blank
添加到。
<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
。任何帮助将不胜感激=)
答案 0 :(得分:0)
我不确定toggleClass()返回什么,但根据我的测试,它没有给你一个可以用于if else条件的布尔值。
为什么不尝试hasClass()来检测是否已经设置了活动类,然后在检测到它之后使用toggleClass。
虽然我不确定我的逻辑是否正确,但我尝试重新编码你的帖子。
$(function () {
$('#toolbar-display-newtab').click(function () {
if ($(this).hasClass('active')) {
$('.item-link').attr('target', '_blank');
} else {
$('.item-link').removeAttr('target');
}
$(this).toggleClass('active');
});
});