我目前在我的 bootstrap 中使用最新的 jquery,但我的 javascript 代码不工作,最新的 jquery。它仅适用于 jquery 1.7.2,但 Bootstrap 至少需要 jquery 1.9.1。我的代码有什么问题?我需要更改哪一部分?
这是我的代码
$(document).ready(function(){
$("input:radio[name='highlight']").on('change',function(){
if ($('#radio7').attr("checked")){
$("#additional-service").addClass('shadow');
} else {
$("#additional-service").removeClass('shadow');
}
});
$("input:radio[name='highlight']").on('change',function(){
if ($('#radio8').attr("checked")){
$("#additional-service1").addClass('shadow');
} else {
$("#additional-service1").removeClass('shadow');
}
});
$("input:radio[name='highlight']").on('change',function(){
if ($('#radio9').attr("checked")){
$("#additional-service2").addClass('shadow');
} else {
$("#additional-service2").removeClass('shadow');
}
});
});
//]]>
最佳答案
看起来您正在尝试检查是否检查了某些 radio 输入。
你不能用最近的 jQuery 版本的 .attr()
来做到这一点,你应该使用 .prop()
来代替:
$(document).ready(function() {
$("input:radio[name='highlight']").on('change', function() {
if ($('#radio7').prop("checked")) {
$("#additional-service").addClass('shadow');
} else {
$("#additional-service").removeClass('shadow');
}
});
$("input:radio[name='highlight']").on('change', function() {
if ($('#radio8').prop("checked")) {
$("#additional-service1").addClass('shadow');
} else {
$("#additional-service1").removeClass('shadow');
}
});
$("input:radio[name='highlight']").on('change', function() {
if ($('#radio9').prop("checked")) {
$("#additional-service2").addClass('shadow');
} else {
$("#additional-service2").removeClass('shadow');
}
});
});
关于javascript 代码仅适用于 jquery 1.7.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41089504/