2012-03-15 110 views
0

我的問題一開始似乎很容易,但我陷入了困境。檢查自定義屬性是否有特定的值

我有一些容器(股利)在我的網頁與一些自定義屬性。

<div class="myclass" myattr1="blah" myattr2="text1-text2-text3-text4-"></div> 

myattr1和myattr2由我定義。

所有div在頁面加載時都可見。

現在,根據用戶從列表中選擇,我想只顯示myattrib1 =「blah」的div並隱藏其餘部分。

我嘗試下面的代碼,但沒有成功可言

$('#mySelectID').change(function() 
{ 
var startName = $(this).val(); 

$(".myclass").not('[myattrib1!="+startName+"]').toggle(); 

}); 

同樣的方法將被用來過濾attrib2結果,但我會用myattrib2 | =「+ startName +」(我認爲這是正確的 - 這就是爲什麼我有額外 - 在myattr2 =「text1-text2-text3-text4-」結尾。

任何人都可以建議我如何正確實現這種過濾? 謝謝!

回答

1

您已經接近,但正如您所看到的語法突出顯示,您沒有執行字符串連接。將從字面上採取+startName+。修復行情和你的罰款:

.not('[myattrib1!="' + startName + '"]') 

請注意,您應該使用data-*代替屬性自定義的的。

+0

哦,我的。我現在感覺很蠢......謝謝你指出我明顯的錯誤。 – andrew 2012-03-15 11:41:01