Jquery简化了与多个id相关的多个if语句,这些id具有相似的字符
Jquery simplifying multiple if statements related to multiple ids with similar characters
我正试图将函数列表简化为单个函数。基本上我有6个div,每个div的id为#slide_,其中下划线是1-6之间的数字(#slide1, #slide2等)。
我的函数是这样的:
if ($("#slide1").hasClass('active')) {});
每个#slide_ id都有一个if语句。什么是最好的方法来简化它,让我有一个函数,而不是6个不同的if语句?
把它循环起来!首先,应用一个类(我使用.slide
作为示例):
var $slides = $('.slide');
或者(如果你不能修改HTML)你可以使用@j08691引用的"starts with"选择器:
var $slides = $('[id^="slide"]');
然后在该集合上应用一个for
循环:
for(var i = $slides.length; i--;){
if($slides.eq(i).hasClass('active')){
// do your magic
}
}
或者你可以更进一步,如果你对同一个对象做了一些事情,只过滤记录集:
$slides.filter(function(){
return $(this).hasClass('active');
}).applyMethod();
如果要修改幻灯片以外的对象,则使用循环;如果要修改幻灯片本身,则使用过滤器。
使用以选择符开头:
$("[id^='slide']").each(...)
请注意,这将匹配所有ID以"slide"开头的元素。更好的解决方案是为您想要定位的元素指定一个类,然后选择该类。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- 使用Javascript获取所选选项ID
- Jquery处理ID中的特殊字符
- 通过 ID jquery 限制文本区域字符
- 从DOM ID中删除非法字符的Javascript正则表达式
- 如何获取id为包含特殊字符的输入元素的值
- 如何使用JavaScript从id属性中去除非数字字符
- Jquery简化了与多个id相关的多个if语句,这些id具有相似的字符
- 我可以在javascript中删除所有ID命名相同的字符
- 使用非法字符设置DIV ID名称
- 为什么我不能正确地附加具有指定id的标签?是字符转义问题吗?
- 将email id作为参数发送给javascript函数:语法错误非法字符
- 为什么jquery id选择器不支持特殊字符
- 如何使用/传输包含特殊字符的attr('id')
- 无法读取id与点和破折号字符在javascript
- 从id属性获取最后一个字符
- 如何获得按钮的id,用户知道只有几个字符在其他按钮点击
- JQuery:如何获取以相同ID字符开头的多个元素的特定属性类型计数
- 如何使用API请求中的特殊字符id