我想用jQuery为div元素设置永久值;如何在jQuery中设置永久值
完整的js文件:
$(function() {
var $a;
var $b;
$('button').click(function() {
$a = $('#a').val();
$b = $('#b').val();
var $big = getBigger($b, $a);
var $small = getSmaller($b, $a);
$('#bigger').text($big);
$('#smaller').text($small);
});
});
//a simple function for getting a bigger element
function getBigger(a, b) {
return a^(a^b) & -(a < b);
}
//a simple function for getting a smaller element
function getSmaller(a, b) {
return (a < b) ? a : b;
}
完整的HTML文件:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="style/style.css">
<title>Compare</title>
</head>
<body>
<form>
Enter a: <input type="number" id="a"><br/>
Enter b: <input type="number" id="b"><br/>
<button> Compare</button>
<div id="bigger"></div>
<div id="smaller"> </div>
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="js/app.js"></script>
</body>
</html>
的问题是,当我离开的范围变量被破坏
PS。现在我意识到我的错误是,当在form
元素中添加<button>
时,每次按下该按钮时,表单中的数据都会被重新设置。
变量'$ big'是绑定在你的码。此外,当您设置元素的文本时,即使原始变量超出范围,该文本仍然保留。你的情况正在发生。 –
如果通过未绑定,你的意思是未声明,我已经在文件的开头声明了它,当.text()方法被设置在这个范围之外时,我会收到一个永久值。 – murloc
看起来像别的东西是你的点击处理程序运行后覆盖div的文本。你可以在[MCVE](http://stackoverflow.com/help/mcve)中重现问题吗? –