2016-08-01 92 views
0

我不明白为什么简单的代码不工作是我的浏览器。JS不工作

<head> 
    <script src="../static/js/jquery-1.12.3.min.js" ></script> 
    <script src="../static/js/jquery-ui.min.js"></script> 
    <link href="../static/js/jquery-ui.min.css" rel="stylesheet"/> 
    <script> 
    $("#totalCart").html("99,75"); 
    </script> 
    </head> 

<body> 
<div id="totalCart">Total </div> 
</body> 

当我在Chrome中启动此代码时,我什么都看不到,为什么?

+2

使用文档就绪处理程序,请阅读https://learn.jquery.com/using-jquery-core/document-ready/ – Satpal

+0

检查浏览器控制台。如果出现任何错误,您会发现错误 –

+0

按F12并转至控制台和网络选项卡。任何错误?此外,您的脚本在HTML中的元素创建之前运行。将Javascript放在文件底部(在''之前)或使用jQuery的['.ready()'方法](https://api.jquery.com/ready/)。 –

回答

2

您正在使用之前的选择DOM已加载。

良好的做法是包括所有脚本结束你的身体。

或者你可以使用

$(document).ready(function(){ 
    //your code 
}); 
0

尝试把

<script> 
$("#totalCart").html("99,75"); 
</script> 

之前

</body> 

说明:

对于jQuery通过$("#totalCart")获取元素 - 同样,对于非库javascript来通过document.getElementById('totalCart')获取元素 - 该元素必须先存在。

在您的原始结构中,脚本一经分析就会运行 - 但是这种情况发生在元素解析之前...有效,脚本运行时,元素尚不存在。

当元素被解析并存在时,脚本已经运行并且不会再次被调用。

如果您将<script>放在文档的最后(在<body>之前),则所有元素都已由浏览器呈现引擎解析并存在。