首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有更短的方法来写这个脚本?(针对多个元素运行相同的函数)

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

Stack Overflow用户
提问于 2010-10-31 01:40:30
回答 6查看 140关注 0票数 1

因此,我有一个很好的滑块脚本,我想在这个页面上使用它:页面上的几个实例的http://tuscaroratackle.com/rods。(换句话说,每一条帖子都会有自己的滑块,页面上总共有11个滑块)

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

代码语言:javascript
运行
复制
$(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选择器添加到第一个函数中来将这些行合并为一行?如果是这样,那么以这种方式编写它的合适格式是什么?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-10-31 01:42:39

您还可以使用类:

代码语言:javascript
运行
复制
$(document).ready(function(){   
    $(".rod-slider").easySlider();
});

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

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

代码语言:javascript
运行
复制
$(document).ready(function(){   
    $("#rod-slider1, #rod-slider2, #rod-slider3, #etc").easySlider();
});

或者,您可以使用add方法。

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

代码语言:javascript
运行
复制
$(document).ready(function(){   
    $("[id^='rod-slider']").easySlider();
});
票数 6
EN

Stack Overflow用户

发布于 2010-10-31 01:46:09

您可以使用starts-with选择器

代码语言:javascript
运行
复制
$(document).ready(function(){   
     $("[id^='rod-slider']").easySlider();
  });

这可以转换为选择所有具有以-开头的id滑块属性的元素

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

代码语言:javascript
运行
复制
$("div[id^='rod-slider']").easySlider();

为了获得更好的性能..

票数 2
EN

Stack Overflow用户

发布于 2010-10-31 01:43:04

代码语言:javascript
运行
复制
$(".rodslider").easySlider(); 

Where "rodslider" is a class and not an id selector. 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4059870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档