我正在开始使用 jQuery。我一直在尝试将它与一些预先存在的 JavaScript 代码混合,这样我就不必重写所有内容。我读过很多地方都说这是完全可行的。然而,每当我包含任何 jQuery 行时,标准 JavaScript 就会停止运行。
下面是一些例子:
<!DOCTYPE html>
<html>
<head>
<style>
#testjquery {
height: 300px;
width: 300px;
}
</style>
</head>
<body>
<div id="testjquery" onclick="testClick()">This is the stuff.</div>
<script src='jquery-1.10.2.min.js'></script>
<script>
$(document).ready(function() {
function testClick() {
document.getElementById("testjquery").style.background = "blue";
}
});
</script>
</body>
</html>
这不起作用,当点击时我收到一个函数未定义的错误。
但是,把这个放进身体里
<body>
<div id="testjquery">This is the stuff.</div>
<script src='jquery-1.10.2.min.js'></script>
<script>
$(document).ready(function() {
$("#testjquery").click(function() {
$(this).css("background", "blue");
});
});
</script>
</body>
工作正常,就像标准 JavaScript 中的等效项一样。
不要将你的函数包装在DOM ready($(document).ready(function(){)
handler.因为它是一个匿名函数所以你testClick()
函数有local scope
.所以你不能在外面调用它DOM ready
function testClick() {
document.getElementById("testjquery").style.background = "blue";
}
Read JavaScript 中变量的作用域是什么? https://stackoverflow.com/questions/500431/javascript-variable-scope
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)