代码不';当用Jquery替换Javascript时,我什么都不做
我有以下javascript代码:代码不';当用Jquery替换Javascript时,我什么都不做,javascript,jquery,Javascript,Jquery,我有以下javascript代码: var right = document.getElementById("true").checked; var wrong = document.getElementById("false").checked; if (right){ answer += 100; } 我想用jQuery替换Javascript,所以我替换了这一行: var right = document.getElementById("true").checked; 为此:
var right = document.getElementById("true").checked;
var wrong = document.getElementById("false").checked;
if (right){
answer += 100;
}
我想用jQuery替换Javascript,所以我替换了这一行:
var right = document.getElementById("true").checked;
为此:
var right = $('#true')[0].attr('checked');
我还下载了jQuery文件并将其添加到我的HTML中:
<script src="jquery-1.11.2"></script>
但它仍然不起作用。试试看
var right = $('#true').attr('checked');
而不是
var right = $('#true')[0].attr('checked');
你应该使用
var right = $('#true').prop('checked');
因为$('#true')[0]
返回DOM元素,并且.attr()
使用jQuery对象。试试看
var right = $('#true').attr('checked');
而不是
var right = $('#true')[0].attr('checked');
你应该使用
var right = $('#true').prop('checked');
因为
$('#true')[0]
返回DOM元素,而.attr()
与jQuery对象一起工作。问题在于jQuery对象上的[0]
访问器返回本机DomeElement。这没有attr()
方法,因此如果检查控制台,很可能会看到错误
在您的情况下,您应该只调用选择器生成的对象上的attr()
(或者更好的是,prop()
)。另外,不要忘记将代码包装在document.ready处理程序中。试试这个:
$(function() {
var right = $("#true").prop('checked');
var wrong = $("#false").prop('checked');
if (right){
answer += 100;
}
});
问题是jQuery对象上的
[0]
访问器返回本机domeElement。这没有attr()
方法,因此如果检查控制台,很可能会看到错误
在您的情况下,您应该只调用选择器生成的对象上的attr()
(或者更好的是,prop()
)。另外,不要忘记将代码包装在document.ready处理程序中。试试这个:
$(function() {
var right = $("#true").prop('checked');
var wrong = $("#false").prop('checked');
if (right){
answer += 100;
}
});
当使用jQuery 1.9+时,attr('checked')获取复选框的初始状态,当其状态更改时,您需要使用prop()函数
$('#true').prop('checked');
当使用jQuery 1.9+时,attr('checked')获取复选框的初始状态,当其状态更改时,您需要使用prop()函数
$('#true').prop('checked');
ID是唯一的标识符。HTML中应该只有一个唯一的ID。也就是说,你不需要把数组标识符放在那里。这样做:
var right = $('#true').attr('checked');
ID是唯一的标识符。HTML中应该只有一个唯一的ID。也就是说,你不需要把数组标识符放在那里。这样做:
var right = $('#true').attr('checked');
@dev null已更新!:)@dev null已更新!:)你能告诉OP为什么他应该使用
.prop
而不是.attr
@Rory,我应该在Javascript函数中创建这个jquery函数吗?就像我在问题中说的那样?(请参见编辑)@RileyWillow啊,如果你是从函数执行代码,你不需要$(function(){})
包装器。你能告诉OP为什么他应该使用.prop
而不是.attr
@Rory,我应该在Javascript函数中创建这个jquery函数吗?就像我在问题中说的那样?(请参见编辑)@RileyWillow啊,如果您是从函数执行代码,您不需要$(function(){})
包装器。