有没有更短的方法来编写这个脚本? (针对多个元素运行相同的功能)

发布于 2024-09-30 02:38:30 字数 660 浏览 5 评论 0原文

所以我想在此页面上使用这个漂亮的滑块脚本: http://tuscaroratackle.com/rods页面上的多个实例。 (换句话说,每个杆发布都会有自己的滑块,页面上总共大约有 11 个滑块)

为了运行脚本,我必须包含此函数声明:

$(document).ready(function(){   
    $("#rod-slider1").easySlider();
     $("#rod-slider2").easySlider();
     $("#rod-slider3").easySlider();
     $("#rod-slider4").easySlider();
     $("#rod-slider5").easySlider();
     $("#rod-slider6").easySlider();
     $("#rod-slider7").easySlider();
     $("#rod-slider8").easySlider();
     ...etc...
  });

所以这里的问题(是我知道的 jQ 菜鸟问题)我可以通过将所有 ID 选择器添加到第一个函数中来将这些行合并为一个吗?如果是这样,那么以这种方式编写的正确格式是什么?

So I have this nice slider script that I want to use on this page: http://tuscaroratackle.com/rods for several instances on the page. (In other words each rod posting will have it's own slider, a total of about 11 sliders on the page)

In order to run the script I have to include this function declaration:

$(document).ready(function(){   
    $("#rod-slider1").easySlider();
     $("#rod-slider2").easySlider();
     $("#rod-slider3").easySlider();
     $("#rod-slider4").easySlider();
     $("#rod-slider5").easySlider();
     $("#rod-slider6").easySlider();
     $("#rod-slider7").easySlider();
     $("#rod-slider8").easySlider();
     ...etc...
  });

So the question here (is a jQ noob question I know) is can I combine those lines into one by adding all the ID selectors into the first function? And if so, what would be the proper format for writing it that way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

碍人泪离人颜 2024-10-07 02:38:31

您还可以使用类:

$(document).ready(function(){   
    $(".rod-slider").easySlider();
});

滑块现在将应用于具有类 rod-slider 的所有/任何元素。

如果您想要/需要使用 ids,可以通过用逗号分隔它们来实现:

$(document).ready(function(){   
    $("#rod-slider1, #rod-slider2, #rod-slider3, #etc").easySlider();
});

或者您可以使用 <代码>添加方法。

如果您不想修改当前的 html,可以使用 starts与 选择器:

$(document).ready(function(){   
    $("[id^='rod-slider']").easySlider();
});

You can also use a class:

$(document).ready(function(){   
    $(".rod-slider").easySlider();
});

The slider will now be applied to all/any elements having the class rod-slider.

If you want/need to use ids, you can do so by separating them with a comma:

$(document).ready(function(){   
    $("#rod-slider1, #rod-slider2, #rod-slider3, #etc").easySlider();
});

Or you can use the add method.

If you don't want to modify you current html, you can use the starts with selector:

$(document).ready(function(){   
    $("[id^='rod-slider']").easySlider();
});
仲春光 2024-10-07 02:38:31

您可以使用 starts-with 选择

$(document).ready(function(){   
     $("[id^='rod-slider']").easySlider();
  });

器翻译为选择具有以 rod-slider 开头的 id 属性的所有元素。

如果您知道所有元素的标签名称都相同,则可以提高此操作的性能。例如,如果它们都是 div,您可以将其写为

$("div[id^='rod-slider']").easySlider();

以获得更好的性能。

You can use the starts-with selector

$(document).ready(function(){   
     $("[id^='rod-slider']").easySlider();
  });

This translates to select all elements that have an id attribute that starts with rod-slider

You can improve the performance of this if you know the tag name is the same for all elements. For example if they are all divs you could write it as

$("div[id^='rod-slider']").easySlider();

for better performance..

热情消退 2024-10-07 02:38:31
$(".rodslider").easySlider(); 

Where "rodslider" is a class and not an id selector. 
$(".rodslider").easySlider(); 

Where "rodslider" is a class and not an id selector. 
迟到的我 2024-10-07 02:38:31

给它们一个公共类,然后使用 .class 选择器 , 像这样:

$(function(){   
  $(".rod-slider").easySlider();
});

Give them all a common class, then use a .class selector, like this:

$(function(){   
  $(".rod-slider").easySlider();
});
山川志 2024-10-07 02:38:31

您可以添加一个班级并一起选择它们。例如,如果它们是 DIV,您可以这样

<div class="rodslider"></div>

$(document).ready(function(){   
    $("div.rodslider").easySlider();
});

You can add a class and select them all together. For example if they are DIVs you can just do this way

<div class="rodslider"></div>

and

$(document).ready(function(){   
    $("div.rodslider").easySlider();
});
找个人就嫁了吧 2024-10-07 02:38:31

你可以这样做:

$(document).ready(function(){
    for (var i = 1; i <= 8; i++) {
        $("#rod-slider" + i).easySlider();
    }
});

或者只使用类选择器......

$(document).ready(function(){
    $(".rod-slider").easySlider();
});

You could do:

$(document).ready(function(){
    for (var i = 1; i <= 8; i++) {
        $("#rod-slider" + i).easySlider();
    }
});

or just use the class selector...

$(document).ready(function(){
    $(".rod-slider").easySlider();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文