代码说

code is poetry

代码说    
碎碎念:自从你去到一个很远地方流浪,不知道现在已经变得怎么样。  换一换

被Jquery坑了

作者:coderzheng 发布于:2015-12-10 16:47 Thursday 分类:jquery  阅读模式

后台页面由于功能上的需求,需要频繁进行各种dom操作。jquery是简化这些操作的利器,但是最近一次排查错误的经历,让我对jquery版本更新的不严密产生了深深的失落。
不多说了,上源码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
#slt {width:200px;}
#slt option {width:200px;overflow:hidden;}
</style>
<script type="text/javascript" src="js/jquery-1.8.1.min.js"></script>
</head>
<body>
<form name="form1" action="test_84.php" method="POST">
<input type="radio" name="tr" id="tr1" value="1" />111&nbsp;&nbsp<input type="radio" name="tr" id="tr2" value="2" />222<br />
<input type="submit" value="Submit" />
</form>
<br /><br />
<select name="slt" id="slt">
<option value="1">111</option>
<option value="2">222</option>
<option value="3">333</option>
</select>
<script type="text/javascript">
/*
$("input[name=tr]").change(function(){
alert('ccc');
});
*/

$('#slt').change(function(){
v = $(this).val();
if (v==1) {
$("#tr1").attr("checked","checked");
$("#tr2").removeAttr("checked");
} else if(v==2) {
$("#tr1").removeAttr("checked");
$("#tr2").attr("checked","checked");
}
});
</script>
</body>
</html>

这个页面实现的功能是:对下拉框进行选择时,更改单选按钮组的选项。
上面的代码使用的是1.8.1版本的jquery,如果我们换成1.10.2版本的jquery,将上面那段代码中的jquery-1.8.1.min.js替换成jquery-1.10.2.js。通过F12观察,反复切换几次之后,单选按钮组的样式丢失了:


在1.8.1版本中,不存在此问题。


(全文完)

标签: javascript jquery

你可以发表评论、引用到你的网站或博客,或通过RSS 2.0订阅这个博客的所有文章。
上一篇: 二维数组中的排序问题  |  下一篇:第十话:爆裂!五连发夹弯