我使用jquery委托函数来切换类没有成功,我想要的是切换类
<li class="unselected-values">
到
<li class="<li class="unselected-values">
当客户点击标签时,任何想法错误,任何建议或帮助将不胜感激。日Thnx
<ul class="option-list swatch pockets">
@foreach (var pvaValue in attribute.Values)
{
<li class="unselected-values">
<input id="@(controlId)_@(pvaValue.Id)" type="checkbox" value="@pvaValue.Id" checked="@pvaValue.IsPreSelected" />
<label for="@(controlId)_@(pvaValue.Id)" style="background-image:url(@(pvaValue.MenuIcon))">@pvaValue.Name</label>
</li>
}
</ul>
<script type="text/javascript">
$(document).ready(function() {
$('.option-list swatch pockets').delegate('label', 'click', function(event) {
$(this).parent().toggleClass('selected-value');
console.log($(this).parent);
alert($(this).parent);
return false;
});
});
</script>
答案 0 :(得分:1)
试试这个:
$('.option-list.swatch.pockets').delegate('label', 'click', function (event) {
$(this).parent().toggleClass('unselected-values selected-value');
console.log($(this).parent);
alert($(this).parent);
return false;
});
您的选择器$('.option-list swatch pockets')
不正确。
您需要像$('.option-list.swatch.pockets')
这样做才能正确使用它。
答案 1 :(得分:1)
您的选择器$('.option-list swatch pockets')
错误,它表示位于pockets
元素内的元素swatch
,该元素位于具有类option-list
的元素内。
尝试
$('.option-list.swatch.pockets')
它表示包含option-list
,swatch
和pockets
类的元素。
另外,为了在两个类之间切换,您需要将这两个类传递给toggleClass方法。
$(document).ready(function() {
$('.option-list.swatch.pockets').delegate('label', 'click', function(event) {
$(this).parent().toggleClass('unselected-values selected-value');
return false;
});
});
演示:Fiddle