我是jQuery的新手。我有以下代码:
jQuery(document).ready(function() {
jQuery('#carousel').jcarousel();
});
它仅适用于ul
的{{1}},而不适用于其他id="carousel"
。如何将其应用于具有相同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>
答案 0 :(得分:9)
您不能拥有多个具有相同ID的元素,这就是为什么不起作用的原因。您应该使用class="caroussel"
代替。
jQuery(document).ready(function() {
jQuery('.carousel').jcarousel();
});
答案 1 :(得分:9)
DOM
中元素的ID应该是唯一。对于两个或多个元素具有相同的ID是无效的HTML 。要跨元素共享功能,请为它们分配一个公共类,而不是为它们提供相同的ID。如果您不能为它们分配一个公共类,下面的解决方法将允许您选择具有相同id属性的元素:
使用相同的ID (如果无法更改ID)
jQuery(document).ready(function() {
jQuery('[id=carousel]').jcarousel();
});
使用公共类(推荐方式)
jQuery(document).ready(function() {
jQuery('.carousel').jcarousel();
});
答案 2 :(得分:2)
在jQuery的最新版本中,当页面上有多个id时,selector将只返回在DOM中找到的第一个“id”。你应该使用class。
答案 3 :(得分:0)
在这种情况下你应该使用课程。你不能使用id。否则,您可以尝试以下代码。
jQuery('ul').jcarousel();