【问题标题】:wrapAll() only working on the first element?wrapAll() 仅适用于第一个元素?
【发布时间】:2013-03-26 01:08:36
【问题描述】:

我正在使用这个脚本来包装两个 div:

jQuery:

$("#wrapcb").click(function(){
  $('#cboxOverlay, #colorbox').wrapAll('<div class="wrapcolorbox">');
});

HTML:

<span><a id="wrapcb" href="http://www.example.com/one">First link</a></span>
<span><a id="wrapcb" href="http://www.example.com/two">Second link</a></span>
<span><a id="wrapcb" href="http://www.example.com/three">Third link</a></span>

奇怪的是,这个脚本只适用于第一个链接,而所有其他链接都被忽略了。

任何想法我做错了什么?

【问题讨论】:

    标签: javascript jquery html jquery-selectors


    【解决方案1】:

    这是因为您为他们提供了相同的 ID(never 在一个页面上使用了两次相同的 ID)。将其更改为类或给每个链接一个唯一的 ID。

    这是一个在链接上使用公共类的示例:

    jQuery:

    $(".wrapcb").click(function(){
      $('#cboxOverlay, #colorbox').wrapAll('<div class="wrapcolorbox">');
    });
    

    HTML:

    <span><a class="wrapcb" href="http://www.example.com/one">First link</a></span>
    <span><a class="wrapcb" href="http://www.example.com/two">Second link</a></span>
    <span><a class="wrapcb" href="http://www.example.com/three">Third link</a></span>
    

    【讨论】:

      猜你喜欢
      • 2023-01-07
      • 2013-01-11
      • 2011-08-25
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 2021-12-04
      • 1970-01-01
      相关资源
      最近更新 更多