如何制作动态名称选择器(无限)
How to make dynamic name selectors (infinitely)
我不熟悉jQuery,我有多余的jQuery调用,我想把它们放在一个循环中。
$('.class1').on('click', function () { ...
$('.class2').on('click', function () { ...
$('.class3').on('click', function () { ...
$('.class4').on('click', function () { ...
$('.class5').on('click', function () { ...
...
这是完整的调用之一:
$('.class1').on('click', function () {
if ($('.anotherclass1').is(':visible')) {
$(this).text("Show"); $('.anotherclass1').hide();
} else {
$(this).text("Hide"); $('.anotherclass1').show();
}
});
有没有办法在没有重复的情况下做到这一点?
这是我的JsFiddle
如果您
确定这些元素只有一个类名,则可以对属性使用开头 with 运算符。我不想在实践中使用它,因为有很多更好的解决方案。
$('[class^=class]').on('click' ...
更好的解决方案需要查看实际的HTML结构。
由于一些尼比特**es:-)抱怨这个答案的完整性,你的完整代码现在看起来像这样:
$('[class^=class]').on('click', function() {
$('.another' + this.className).toggle();
});
演示:http://jsfiddle.net/9vj3wagt/2/
假设所有项目都具有相同的类someclass
和数据属性,例如 data-target="#someotherid"
:
JSFiddle: http://jsfiddle.net/TrueBlueAussie/9vj3wagt/1/
$('.someclass').on('click', function () {
var selector = $(this).data("target");
$(selector).toggle();
});
这将使用属性中的选择器来决定要切换的其他元素(根据可见性hide
/show
)。
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 在动态创建的元素上获取对特定选择器的引用
- AngularJS-在JSON选择器中使用变量名
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- jQuery最近父级的数据属性选择器
- 为什么不'在JQuery中找到第二个css选择器的工作
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- jquery IE7中的第n个选择器
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- jquery日期选择器年份范围默认值
- jquery日期选择器失去了交互性
- 正在搜索JavaScript日期选择器滑块
- 如何将返回的值应用于多个不同位置的多个选择器
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 如何在多个jQueryUI日期选择器中屏蔽特定日期
- jquery日期选择器显示与值不同的文本
- jQuery选择器无法正常工作
- 如何制作动态名称选择器(无限)
- 无限滚动:项目选择器中的js代码