[英]Why I have problem with $(document).ready?
我正在學習 jQuery,但我遇到了問題。
這里的代碼:
var script = document.createElement('script');
script.src = 'https://code.jquery.com/jquery-3.4.1.min.js';
script.type = "text/javascript";
var pt = document.createElement('script');
pt.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(script);
document.getElementsByTagName('head')[0].appendChild(pt);
$(document).ready(function() {
alert("ti vedo");
$.post('wait.php', function(data) {
alert("ti vedo2");
var dati = JSON.parse(data);
alert(data);
for (var i = 0; i <= dati.length; i++) {
var node = $(document.createElement("span"));
var content = $(document.createElement("div"));
var code = dati[i];
var text = $(document.createTextNode(code));
node.append(text);
content.append(node);
$("#boxMessage").append(content);
}
});
});
我使用警報來檢查錯誤,但我看不到第一個警報。 所以問題是 $(document)... 但我不明白為什么。 我在包含 jQuery 庫時犯了一個錯誤? 感謝您的幫助!
您收到錯誤是因為您試圖在它可用之前訪問jQuery
(通過$
)。
您可以在腳本真正加載后運行與 jQuery 相關的代碼:
var script = document.createElement('script'); script.src = 'https://code.jquery.com/jquery-3.4.1.min.js'; script.type="text/javascript"; document.getElementsByTagName('head')[0].appendChild(script); script.addEventListener('load', function(){ alert("ti vedo"); $.post('wait.php',function(data){ alert("ti vedo2"); var dati=JSON.parse(data); alert(data); for(var i=0; i<=dati.length; i++){ var node=$(document.createElement("span")); var content=$(document.createElement("div")); var code=dati[i]; var text=$(document.createTextNode(code)); node.append(text); content.append(node); $("#boxMessage").append(content); } }); });
此外,您不需要同時使用兩個不同版本的jQuery
。
活動順序為:
$
函數,但$
未定義,因此腳本以異常終止$
$
使用常規<script>
元素加載您的依賴項,而不是嘗試在執行腳本中途加載它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.