为什么javascript在这里工作正常:Fiddle
但是当我保存它并将javascript包装在body标签内的script
html标签中,然后在浏览器中打开时。复选框不响应,所有列都显示在浏览器中,而默认情况下应隐藏某些列。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>čezožinski odnosi</title>
<link rel="stylesheet" type="text/css" href="timeline.css">
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.js"></script>
<script>
$(document).ready(function() {
if($("#opt1").is(":checked")){
$("#col1").show();
$(".data1").show();
}else{
$("#col1").hide();
$(".data1").hide();
}
if($("#opt2").is(":checked")){
$("#col2").show();
$(".data2").show();
}else{
$("#col2").hide();
$(".data2").hide();
}
if($("#opt3").is(":checked")){
$("#col3").show();
$(".data3").show();
}else{
$("#col3").hide();
$(".data3").hide();
}
if($("#opt4").is(":checked")){
$("#col4").show();
$(".data4").show();
}else{
$("#col4").hide();
$(".data4").hide();
}
$("#opt1").live('click', function() {
if($("#opt1").is(":checked")){
$("#col1").show();
$(".data1").show();
}else{
$("#col1").hide();
$(".data1").hide();
}
});
$("#opt2").live('click', function() {
if($("#opt2").is(":checked")){
$("#col2").show();
$(".data2").show();
}else{
$("#col2").hide();
$(".data2").hide();
}
});
$("#opt3").live('click', function() {
if($("#opt3").is(":checked")){
$("#col3").show();
$(".data3").show();
}else{
$("#col3").hide();
$(".data3").hide();
}
});
$("#opt4").live('click', function() {
if($("#opt4").is(":checked")){
$("#col4").show();
$(".data4").show();
}else{
$("#col4").hide();
$(".data4").hide();
}
});
});
</script>
</head>
答案 0 :(得分:1)
似乎你没有在你的例子中包含jquery.js文件,在参考JSFiddle示例中它们包含了jQuery 1.7.2,
<script>
$(document).ready(function() {
</script>
运行上面的代码jquery文件应该包含在你的文档中。
答案 1 :(得分:0)
您指的是Jquery 1.11+,并使用$("#opt4").live(..)
在Jquery 1.7 +
中不推荐使用Live使用$("#opt4").on()
代替。 (在.on
)
.live
请参阅this正在发挥作用。