使用.ech()迭代具有类似类名的元素
using .each() to iterate elements with similar class name
我有一组div元素。我称它们为di1、di2、di3,但还有更多。
事实上,我向他们展示了这段代码:
$("#elenco_elimina_gruppo").find("div.di1").show();
$("#elenco_elimina_gruppo").find("div.di2").show();
$("#elenco_elimina_gruppo").find("div.di3").show();
我想使用jQuery的每个函数。你能帮我吗?
您可以只使用$("#elenco_elimina_gruppo div").show();
如果只有三个div,则可以使用多重选择器:
$("#elenco_elimina_gruppo").find(".di1, .di2, .di3").show();
假设除了显示元素之外,还想执行更多操作,下面是如何使用.each()
:
$("#elenco_elimina_gruppo div").each(function(index) {
var currentClassName = $(this).attr("class");
if (currentClassName.length > 2 && currentClassName.substr(0, 2) == "di") {
$(this).show();
//you can do more actions here...
}
});
实时测试用例。
如果你只是想展示它们,不需要在.each()
中使用.filter()
方法:
$("#elenco_elimina_gruppo div").filter(function() {
var currentClassName = $(this).attr("class");
return (currentClassName.length > 2 && currentClassName.substr(0, 2) == "di");
}).show();
实时测试用例。
您可以使用类似-的东西
$("#elenco_elimina_gruppo").children().each(function() {
$(this).show();
});
请参阅此处的示例-http://jsfiddle.net/nonocut/pNyuT/2/
下面是一个JSFiddle,代码如下每个功能都很简单,例如
$.each( ["di1","di2","di3"], function(item, index) {
$("#elenco_elimina_gruppo div." + item ).show();
});
你也可以像这样使用
$.each( $("#elenco_elimina_gruppo").find("div.di1,div.di2,div.di3"), function(item, index) {
$(item).show();
});
有很多方法可以做你想要做的事情,这只是品味的问题。我更喜欢Speransky Danil的答案,并在所有div上添加一个公共类,但这确实是你的选择。为了方便起见,我添加了一个JSFiddle
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- 对动态创建的元素运行jQuery.ech()
- 使用.ech()迭代具有类似类名的元素
- 如何在jquery.ech()函数中分配元素值
- 使用jQuery.ech()无限循环元素
- 检查$.ech()中是否有更多元素