为什么$(this).toggleCLass未定义
问题描述:
对不起,我的英语不好! 我有一个jQuery的问题,我只是不明白。 我尝试切换一堆li元素的Classnames,但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).toggleCLass
是undefined
。为什么!?
我不明白。请帮忙!
答
应当$(this).toggleClass
+0
哦,我的,我是盲人。非常感谢! :-) –
+0
呃...如何关闭这个问题? –
'toggleCLass'应该是'toggleClass'(注意,外壳)JS是大小写敏感的。 – litelite
其'toggleClass'不是'toggleCLass' –
哦,我的,我是盲人。非常感谢! :-) –