0

我试图在我的网站上有一个按钮,当它处于活动状态时(单击一次)将目标添加_blankhref具有特定类的链接,以便它们在新选项卡中打开。

这是按钮的代码

    <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. 任何帮助将不胜感激 =)

4

1 回答 1

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');
    });
});
于 2012-10-04T04:07:11.350 回答