一尘不染

如何将jQuery函数应用于具有相同ID的所有元素?

javascript

我是jQuery新手。我有以下代码:

jQuery(document).ready(function() {
    jQuery('#carousel').jcarousel();
});

它仅适用于ul带有的第一个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>

阅读 240

收藏
2020-04-25

共1个答案

一尘不染

元素的ID在中应该是唯一的DOM。两个或多个元素具有相同的ID无效html。要在各个元素之间共享功能,请给它们分配一个公共类,而不要给它们相同的ID。如果您不能为它们分配一个通用类,则下面的解决方法将使您可以选择具有相同id属性的元素:

使用相同的ID (如果无法更改ID)

jQuery(document).ready(function() {
    jQuery('[id=carousel]').jcarousel();
});

使用通用类 (推荐方式)

jQuery(document).ready(function() { 
    jQuery('.carousel').jcarousel();
});
2020-04-25