在按钮激活的新选项卡中打开链接

时间:2012-10-04 03:45:57

标签: javascript html css

我正在尝试在我的网站上设置一个按钮,当它处于活动状态时(单击一次)会将目标_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。任何帮助将不胜感激=)

1 个答案:

答案 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');
    });
});