2013-09-28 38 views
0

我想在我的网页中使用jQuery。我不想下载它,所以我将它包含在Google的CDN中。从谷歌CDN jQuery不工作

当我运行该页面时,jQuery不起作用。

任何人都可以告诉我问题依赖于jQuery还是我的代码。

这是我的代码。

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script> 
cars=new Array("Mercedes","Volvo","BMW","porche"); 
phones=new Array('Samsung','Nokia','Iphone'); 

populateSelect(); 

$(function() { 

    $('#cat').change(function(){ 
    populateSelect(); 
}); 

}); 


function populateSelect(){ 
cat=$('#cat').val(); 
$('#item').html(''); 


if(cat=='car'){ 
    cars.forEach(function(t) { 
     $('#item').append('<option>'+t+'</option>'); 
    }); 
} 

if(cat=='phone'){ 
    phones.forEach(function(t) { 
     $('#item').append('<option>'+t+'</option>'); 
    }); 
} 

} 
</script> 
</head> 

<body> 
<select id="cat"> 
<option value="car">car</option> 
<option value="phone">phone</option> 
</select> 

<select id="item"> 

</select> 
</body> 
</html> 

回答

3

您调用populateSelect(),当DOM尚未加载时,它会尝试访问您的选择标记。

移动函数调用到您的DOM已准备就绪事件处理程序:

$(function() { 
    populateSelect(); 

    $('#cat').change(function(){ 
    populateSelect(); 
    }); 
}); 

下一次,打开浏览器的开发者控制台!它会清楚地显示错误。

+0

:-)非常感谢。 – sapan

+1

@sapan不客气!请阅读[如何接受答案](http://meta.stackexchange.com/a/5235/191400),所以你可以开始接受来自这个问题的回答以及其他问题:) – ComFreek