2013-05-01 41 views
2

在HTML我有一個JSON對象內設置的各種數據 - 特性屬性一個div,例如:如何基於選擇。數據元素({鍵:值})

<div data-layout='{ 
     "type" : "header", 
     "minHeight" : "10%" 
    }'> 
    Layout 
</div> 

在代碼中,它是可能只選擇具有例如data-layout.type==="header"沒有使用.each或過濾功能?

我要找的線沿線的東西:

$('[data-layout]').find('type="header"') 
+0

有點兒,你可以用* =來查看屬性值的任何位置是否出現「type」:「header」',但是如果你只是使用.filter,那麼它就不太可能出現問題。 – 2013-05-01 18:28:36

+0

我認爲這個鏈接將幫助你:http://stackoverflow.com/questions/2891452/jquery-data-selector – uross 2013-05-01 18:30:00

+0

如果data- *屬性設置爲簡單(「key」,「value」),我可以使用attribute選擇器,如'[key =「value」]'。我的問題是,如果我可以做類似的事情來選擇JSON對象的屬性,如我的示例所示,或者是.filter唯一的方法。 data-layout沒有設置爲單個(字符串)值,而是一個JSON對象。我需要選擇具有某些屬性設置爲特定值的數據佈局屬性的元素。 – 4EverLive 2013-05-01 18:32:29

回答

0

this答案使用功能,您可以使用模式如下:

:data({namespace} [{operator} {check}] ) 

「操作員」和「檢查」是可選的。所以,如果你只有:data(a.b.c),它只會檢查a.b.c的真實性。

瞭解更多關於它here

+0

謝謝。 Austin提供的答案也適用於數據佈局屬性對象中沒有使用「標題」的地方,但我特別需要查找具有(例如)someAttrProp === someValue的元素。 – 4EverLive 2013-05-01 18:45:22

3

如果沒有在數據佈局使用頭其他地方的屬性,你可以使用attribute contains選擇這樣的:

$('*[data-layout *="header"]')