我正在使用jquery委托函数来切换没有成功的类,我想要的是切换的类

<li class="unselected-values">




<li class="<li class="unselected-values">


当客户单击标签时,如果我弄错了任何想法,任何建议或帮助将不胜感激。 n

    <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>

最佳答案

您的选择器$('.option-list swatch pockets')错误,表示元素pocketsswatch元素内,该元素在类option-list的元素内。

尝试

$('.option-list.swatch.pockets')


这意味着元素具有类option-listswatchpockets

同样,为了在两个类之间切换,您需要将两个类都传递给toggleClass方法。

$(document).ready(function() {
    $('.option-list.swatch.pockets').delegate('label', 'click', function(event) {
        $(this).parent().toggleClass('unselected-values selected-value');
        return false;
    });
});


演示:Fiddle

关于jquery - 使用委托(delegate)交换类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15831866/

10-10 07:47