2013-01-04 45 views
0

我有div元素id爲這樣的: manufacturer_12, manufacturer_37, manufacturer_71, 等等的jQuery的slideToggle上所有打開的div

是有辦法找到所有的div,他們的知名度可見,並且做對他們是這樣的:

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

的問題是,它的imposibble做一個for循環,因爲它們的ID是不連續的。

也許我應該用http://api.jquery.com/jQuery.each/

+0

你試過你的代碼了嗎?它得到你的div,你只需添加':visible'就可以看到可見的。 –

+0

你想讓他們一下子或一個接一個地上升嗎? – vortextangent

回答

2

你可以使用.each,但是這可能工作:

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

事實上,你可以使用:visible

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

但要注意,由於文件說.slideToggle()將適用於所有匹配的元素。所以,你實際上不需要在這裏使用.each()

.slideToggle([duration] [, callback])

返回:jQuery的

描述:顯示或隱藏匹配元素與滑動運動。

在這種情況下,id開始manufacturer所有可見的元素。

1

相信我,這不是一個好的做事方式。
您最好爲所有感興趣的項目分配一個特定的類,並根據類名寫一個非常簡單的選擇器。這將工作得更快。