我正在嘗試爲我的列表製作一個過濾器,並且它按照我的意願工作。但它只適用於第一個過濾器,而不適用於其他過濾器。我無法弄清楚爲什麼。jQuery Onclick Filter僅適用於第一個項目
我想要實現的是,點擊'父'過濾器會隱藏'childList'列表項,它們與選定的父項沒有相同的'gid'屬性。
我的代碼如下:
HTML
<ul>
<li class="parent" gid="2">2</li>
<li class="parent" gid="3">3</li>
<li class="parent" gid="4">4</li>
</ul>
<ul>
<li class="childList" gid="2">2.1</li>
<li class="childList" gid="2">2.2</li>
<li class="childList" gid="2">2.3</li>
<li class="childList" gid="3">3.1</li>
<li class="childList" gid="3">3.2</li>
<li class="childList" gid="3">3.3</li>
<li class="childList" gid="4">4.1</li>
</ul>
CSS
li {
display: inline-block;
padding: 20px;
border: 1px solid black;
cursor: pointer;
}
.selected {
background-color: green;
}
的Javascript
$(function() {
$('.parent').on('click', function() {
$(this).select().toggleClass('selected')
var gid = $(this).select().attr('gid')
if ($(this).select().attr('class') == 'parent')
$('.childList').show()
else {
console.log(gid)
if ($('.childList').attr('gid') == gid)
$('.childList').not('[gid="' + gid + '"]').hide()
}
})
})
您的意見和幫助將不勝感激。謝謝。
這正是我需要的。謝謝! –