每个列表项都有相同的jQuery

时间:2015-01-26 09:08:05

标签: jquery

我有这段代码:

<ul>
    <li>
        <a href="http://www.yahoo.com" 
            onclick="window.open(this.href, 'mywin', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); 
                return false;" >Go to Yahoo
        </a>
    </li>

    <li>
        <a href="http://www.facebook.com" 
            onclick="window.open(this.href, 'mywin', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); 
                return false;" >Go to Facebook
        </a>
    </li>

    <li>
        <a href="http://www.google.com" 
            onclick="window.open(this.href, 'mywin', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); 
                return false;" >Go to Google
        </a>
    </li>
</ul>

如何使onclick jQuery适用于所有列表项?谢谢

3 个答案:

答案 0 :(得分:2)

为需要此功能的每个a元素添加一个类,然后执行:

$('a[href].yourClass').click(function(){
    window.open($(this).attr('href'), 'mywin', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0');
    return false;
});

答案 1 :(得分:1)

应该添加这个......

$('a').on('click', function () {
            var link = $(this).attr('href');
            window.open(link, 'mywin', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0');
});

你应该在你的网站上添加一些课程,以确保这不会适用于你的所有链接...

答案 2 :(得分:1)

您可以在ul上添加一个监听器,监听点击子a

$('ul').on("click", "a", function(e) {
  var $this = $(this),
    href = $this.attr("href");

  window.open(href, 'mywin', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0');

  e.preventDefault();
});
<ul>
  <li>
    <a href="http://www.yahoo.com">Go to Yahoo</a>
  </li>

  <li>
    <a href="http://www.facebook.com">Go to Facebook</a>
  </li>

  <li>
    <a href="http://www.google.com">Go to Google</a>
  </li>
</ul>