我怎样才能应用一个jQuery函数的所有元素具有相同的ID?
我是jQuery的新手。 我有以下代码:
jQuery(document).ready(function() { jQuery('#carousel').jcarousel(); });
它仅适用于id="carousel"
的第一个ul
,而不适用于其他的。 我如何将它应用于所有具有相同ID的元素?
HTML:
<!-- jQuery applies to this div --> <div id="slideshow-carousel"> <ul id="carousel" class="jcarousel jcarousel-skin-tango"> <!-- ... --> </ul> </div> <!-- jQuery does not apply for this div --> <div id="slideshow-carousel"> <ul id="carousel" class="jcarousel jcarousel-skin-tango"> <!-- ... --> </ul> </div>
元素的ID在DOM
中应该是唯一的。 具有相同的两个或多个元素的ID是无效的HTML 。 要通过元素共享function,请为它们分配一个公共类,而不是为它们分配相同的ID。 如果您不能将它们分配给一个普通的类,下面的解决方法将允许您select具有相同id属性的元素:
使用相同的ID (如果不能更改ID)
jQuery(document).ready(function() { jQuery('[id=carousel]').jcarousel(); });
使用一个普通的类(推荐的方法)
jQuery(document).ready(function() { jQuery('.carousel').jcarousel(); });
你不能有多个具有相同ID的元素,这就是为什么不工作。 你应该使用class="caroussel"
来代替。
jQuery(document).ready(function() { jQuery('.carousel').jcarousel(); });
在jQuery的最新版本中,当页面上有多个id时,select器将仅返回在DOM中find的第一个“id”。 你应该使用类。
在这种情况下,你应该使用类。 你不能使用ID。 否则,你可以尝试下面的代码。
jQuery('ul').jcarousel();