jquery slideToggle on all open div

时间:2013-01-04 18:30:16

标签: javascript jquery html

我有这样的id的div: manufacturer_12, manufacturer_37, manufacturer_71, 等...

有没有办法找到他们的可见度可见的所有div,并为他们做类似的事情:

$('[id^="manufacturer"]').slideToggle("slow");

问题在于它无法进行for循环,因为它们的id不是连续的。

也许我应该使用http://api.jquery.com/jQuery.each/

3 个答案:

答案 0 :(得分:2)

您可以使用.each,但这可能会有效:

$("[id^='manufacturer']:visible").slideToggle("slow");

答案 1 :(得分:2)

确实,您可以使用:visible

$('[id^="manufacturer"]').filter(":visible").slideToggle("slow");

但请注意,.slideToggle()将适用于所有匹配的元素,如文档所述。所以,你实际上不需要在这里使用.each()

  

.slideToggle( [duration] [, callback] )

     

返回:jQuery

     

说明:使用滑动动作显示或隐藏匹配的元素

在这种情况下,idmanufacturer开头的所有可见元素。

答案 2 :(得分:1)

相信我,这不是一种好的做事方式。
您最好为所有感兴趣的项目分配一个特定的类,并且只根据类名编写一个非常简单的选择器。这样可以更快地完成。