JavaScript 未捕获的类型错误

JavaScript uncaught Typeerror

我想知道复选框是否已通过 JavaScript 选中。 Html(PHP) 按钮的代码是:

<div class="span8 offset8" style="text-align:right;">
                                        <div class="helpIcon">
                                            <a href="javascript:void(0);" original-title="."></a>
                                        </div>
                                        <span class="skip-analysis" id="emptyFolder"><input type="checkbox" name="emptyFolder" class="_nosearch"> <span>Ignore up to date files</span></span>

JS代码是:

skipCopy1 = that.element.find('#emptyFolder input[name=emptyFolder]');
console.dir(skipCopy1);
var skipCopy = that.skipCopy1.is(':checked');
console.log('skipcopy 1st '+skipCopy);

我在 Chrome 控制台中收到一条错误消息: 未捕获的类型错误:无法读取未定义的 属性 'is'(第 15 行的 'is')

我哪里错了?我只需要 skipCopy 变量中的 True false 值。 提前致谢。

看起来skipCopy1是一个变量。如果是这样,请从以下位置删除 that.

var skipCopy = that.skipCopy1.is(':checked');
//             ^^^^^---- remove this

,如果您希望 skipCopy1 成为 that 的 属性,您需要在上一行设置它:

    that.skipCopy1 = that.element.find('#emptyFolder input[name=emptyFolder]');
//  ^^^^^---- add this

最简单的方法是像这样使用 JQuery 库:

// First method - Recommended
$('#checkbox').prop('checked')  // Boolean true

// Second method - Makes code more readable (e.g. in if statements)
$('#checkbox').is(':checked')  // Boolean true

// Third method - Selecting the checkbox & filtering by :checked selector
$('#checkbox:checked').length  // Integer >0
$('#checkbox:checked').size()  // .size() can be used instead of .length

// Fourth method - Getting DOM object reference
$('#checkbox').get(0).checked  // Boolean true
$('#checkbox')[0].checked      // Boolean true (same as above)

HTML:

<input id="checkbox"  type="checkbox" name="one" value="1" checked="checked">
<input id="checkbox2" type="checkbox" name="two" value="2">
<input id="checkbox3" type="checkbox" name="thr" value="3">

更多信息:http://jquery-howto.blogspot.be/2013/02/jquery-test-check-if-checkbox-checked.html