2012-06-06 57 views
1

我知道這應該是簡單的,但我遇到了多個問題。首先,我不知道如何獲得班級的所有元素並改變他們的顯示。我發現.each方法與此示例代碼:jQuery - 迭代遍歷所有元素並改變其風格

$('.classname').each(function(index) { 
     alert(index); 
}); 

我需要什麼警報,而不是改變從「無」來阻止'元素的顯示屬性?

第二個問題是,類名是從隱藏字段中收集的。我們來命名這個變量service。當我嘗試用'。'+服務替換'.classname'時,我收到一個錯誤,說'語法錯誤,無法識別的表達式:。'。

所以實際的代碼會是這樣的:

var service=$('#service').val(); 
$('.'+service).each(function(index) { 
     alert(index); 
}); 

我敢肯定,這不能很複雜,但我無法弄清楚。

任何替代解決方案當然是受歡迎的。

回答

4

退房.show

var service=$('#service').val(); 
$('.'+service).show(); // roughly equivalent to .css('display', 'block'); 

然而,作爲show的文件指出,該方法返回匹配的元素display屬性之前的狀態。到display樣式屬性明確更改爲block,使用.css

$('.' + service).css("display", "block"); 
+0

,對於顯示元素的作品,但我仍然得到語法錯誤。有關於此的任何想法? – jovan

+0

@robert:你確定問題出在這個代碼上嗎?它在語法上是正確的 –

+1

也許錯誤在於你從$('#service')。val()'得到的任何值。你可以舉一個'#service'裏面的值的例子嗎?對於上面的代碼的工作,它應該只是一個單一的,合法的類名稱。 – spinningarrow

0

嘗試淡入()和淡出()

var service=$("#service").val(); 
$("."+service).fadeIn();