2014-05-13 92 views
0

如何使用具有多個屬性值的元素來選擇具有單個匹配屬性值的div並顯示或隱藏這些匹配的div。我在這裏有相反的工作(單個attritbute匹配具有多個屬性的div):http://jsfiddle.net/jtspetersen/cEgvB/2/針對單個屬性數據值匹配多個屬性數據值

基本上,我有'X'職位和「Y」課程。我想給每個課程分配一個唯一的屬性值,當我點擊具有多個屬性值的位置X的鏈接時,我想要顯示匹配多重屬性選擇器的課程。

<a class="pos" href="#" data-position="1 2 4">Your Position 1</a> 
<a class="pos" href="#" data-position="3 4">Your Position 2</a> 
<br /> 

<div id="title"><em>Lessons</em></div> 
<div id="lesson1" class="lesson" data-lesson="1">Lesson 1</div> 
<div id="lesson2" class="lesson" data-lesson="2">Lesson 2</div> 
<div id="lesson3" class="lesson" data-lesson="3">Lesson 3</div> 
<div id="lesson4" class="lesson" data-lesson="4">Lesson 4</div> 

所以,當我點擊位置1時,看到課2,3,4

抱歉,如果這已回答了,但我沒能找到任何干淨做到這一點。

+0

一旦檢索數據位置屬性,你可以通過使用對空格的字符串分割功能,然後循環個人號碼...只是一個念頭 –

回答

1

你不得不分割位置列表,檢查每節課

$('.pos').on('click', function() { 
    var arr = $(this).data('position').split(/\s+/); 

    $('.lesson').hide().filter(function() { 
     return $.inArray($(this).data('lesson').toString(), arr) != -1; 
    }).show(); 
}); 

FIDDLE

+0

太棒了!那就是我正在尋找的東西。謝謝您的幫助! – user3634423