Jquery的新功能 - 它不会在任何浏览器上加载或工作

时间:2013-10-11 18:16:04

标签: javascript jquery

我是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>

4 个答案:

答案 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...."