我是jQuery的新手。我正在尝试创建一个简单的页面。使用谷歌的托管jQuery。根据stackoverflow中的许多示例,我编写了这段小代码。变更事件永远不会被解雇。我也没有看到'无法加载'警报。如果我查看firebug并从google扩展脚本标记,则会将其显示为“undefined”。我在本地测试,不使用任何Web服务器。任何人都可以指出我的错误吗?代码如下:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="./styles/qForm.css" rel="stylesheet" type="text/css"/>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script>
if (!window.jQuery) {
alert("can not load');
}
$('#choice').change(function () {
alert('here!');
if($(this).val() == '0') $(this).addClass('empty');
else $(this).removeClass('empty')
});
$('#choice').change();
</script>
</head>
<body>
<div id="surround">
<div id="top">
<h3 id="title"> Enter Information </h3>
</div>
<div id="bottom">
<select id="choice">
<option style="color: gray;" value="0" selected="selected">Select...</option>
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
</div>
</div>
</body>
答案 0 :(得分:2)
您对alert
函数的引号有拼写错误。
alert("can not load');
报价必须相同。这应该是您的代码无法正常工作的第一个原因。
alert("can not load");
答案 1 :(得分:0)
将http:添加到您的脚本源
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
答案 2 :(得分:0)
使用jQuery时,通常将其包装在“就绪”函数中。
<script>
$(document).ready(function(){
$('#choice').change(function () {
alert('here!');
});
});
</script>
这意味着jQuery将等待页面完全加载,然后再应用绑定。如果它试图将绑定应用于尚不存在的元素(页面没有呈现这些元素),它将被忽略。
答案 3 :(得分:0)
使用本地文件时,浏览器无法理解<script src="//ajax...."
。将其更改为<script src="http://ajax...."