我正在使用 JQuery 遍历ul
列表,并通过使用.on('click'...)
我想将一个类添加到当前单击的对象li
中,同时将其从先前选择的对象中删除li
jsFIDDLE 在这里:jsfiddle 链接
HTML:
<div id="divisionMenus">
<ul>
<li>Type 01</li>
<li>Type 02</li>
<li>Type 03</li>
<li>Type 04</li>
</ul>
</div>
<p class="results"></p>
CSS:
#divisionMenus {
width: 220px;
min-height: 220px;
position: absolute;
top: 30px;
left: 5px;
background-color: #003399;
}
#divisionMenus ul {
list-style: none;
margin: 0;
padding: 0;
}
#divisionMenus ul li {
padding: 18px;
border-top: 3px solid #111;
font-weight: bold;
cursor: pointer;
}
#divisionMenus ul li:hover {
background-color: #c0dde8;
color: #111;
}
.currentType {
background-color: #c0dde8;
color: #111;
}
.results {
display: none;
}
查询:
$(document).ready(function () {
// select list items in list
$devisionProductTypes = $('#divisionMenus').children().children();
$devisionProductTypes.each(function (index) {
$(this).on('click', $(this), function() {
$productType = $(this);
$productTypeTitle = $productType.text();
$otherProductTypes = $productType.not($(this));
if (!$productType.hasClass('currentType')) {
$productType.addClass('currentType');
$otherProductTypes.removeClass('currentType');
$('.results').show('fast').text('You have selected ' + $productTypeTitle);
} else {
$productType.removeClass('currentType');
$otherProductTypes.removeClass('currentType');
}
});
});
});
我使用相同的逻辑来迭代一些div img
以切换大小并且它在那里工作。但不是在这里。我是错过了什么,还是我接近这一切都错了。