wrapAll()只处理第一个元素?

时间:2013-03-24 22:59:02

标签: javascript jquery html jquery-selectors

我正在使用这个脚本来包装两个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>

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

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:4)

那是因为你给了他们所有相同的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>