wrapAll()只工作了第一个元素?(wrapAll() only working on the

2019-09-30 06:15发布

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

奇怪的是,这个脚本只能在第一个链接,其他的都被忽略。

任何想法,我做错了什么?

Answer 1:

那是因为你已经给了他们所有的相同的ID( 从来没有在网页上使用相同的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>


文章来源: wrapAll() only working on the first element?