为什么$(this).toggleCLass未定义

时间:2017-08-28 15:23:56

标签: javascript jquery html

抱歉我的英语不好! 我有一个jQuery的问题,我只是不明白。 我尝试切换一堆li-Elements的类名,但是jQuery-Collection并不像我怀疑的那样。

HTML:

<div>
    <input id="checkPresetPreview" type="checkbox" />
    <label for="checkPresetPreview">Vorschau an / aus</label>
</div>

<ul class="presetList active" data-presetList="items">
    <li class="presetItem" data-preset="fire">Feuerschwert</li>
    <li class="presetItem" data-preset="potion">Heiltrank</li>
    <li class="presetItem" data-preset="food">Brot</li>
</ul>

JS / jQuery:

$(function () {
    var jCheckPresetPreview = $('#checkPresetPreview'),
        jPresetItems = $('.presetItem');



    /* Event-Handling */

    jCheckPresetPreview.change(function (e) {
        var isChecked = e.target.checked;

        jPresetItems.each(function () {
            console.log('$(this): ', $(this));
            console.log('toggleCLass: ', $(this).toggleCLass);

            $(this).toggleCLass($(this).data('preset'), isChecked);
        });
    });

this是原始DOM元素,对吧? $(this)应该是该元素的jQuery版本。但$(this).toggleCLassundefined。为什么!?

我不明白。请帮忙!

1 个答案:

答案 0 :(得分:1)

应为$(this).toggleClass