Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将jQuery函数应用于具有相同ID的所有元素?_Javascript_Jquery_Dom - Fatal编程技术网

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

Javascript 如何将jQuery函数应用于具有相同ID的所有元素?,javascript,jquery,dom,Javascript,Jquery,Dom,我不熟悉jQuery。我有以下代码: jQuery(document).ready(function() { jQuery('#carousel').jcarousel(); }); 它仅适用于带有id=“carousel”的第一个ul,不适用于其他。如何将其应用于具有相同ID的所有元素 HTML: <!-- jQuery applies to this div --> <div id="slideshow-carousel"> <ul id="c

我不熟悉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的元素,这就是它不工作的原因。您应该改用
class=“caroussel”

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

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

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

使用通用类(推荐方式)


在jQuery的最新版本中,当页面上有多个id时,选择器将只返回在DOM中找到的第一个“id”。您应该改用class。

在这种情况下,您应该使用class。您不能使用id。否则您可以尝试以下代码

jQuery('ul').jcarousel();

您应该避免多次使用同一id。。。改为使用一个类,例如和$(“.myClass”)对多个控件使用相同的ID?这是不可以的嘿,欢迎来到SO:)+1对他们说,你应该创建一个类而不是id。还可以尝试做一个JSFIDLE,这样我们就可以继续并填充空白。
不能有多个元素具有相同的id
可以,它只是无效的HTML。:)如果您添加了在同一页面上多次使用相同id是无效HTML的解释,那么您在这里得到了最佳答案。
jQuery(document).ready(function() { 
    jQuery('.carousel').jcarousel();
});
jQuery('ul').jcarousel();