我的index.html既包括的jquery.js和我自己的腳本是這樣的:在單獨的.js jQuery的奇怪行爲文件
<script type="text/javascript" src="../lib/jQuery/jquery-2.1.0.min.js"></script>
<script type="text/javascript" src="myscript.js"></script>
myscript.js看起來是這樣的:
function eval() {
document.getElementById("rContent").innerHTML = "<ul id=\"agentList\">";
var agentNames = $(".tttAgentName");
var falloutOrders = $(".tttFalloutOrder");
var i, j = 0;
for(i = 0, j = 0; i < agentNames.length, j < falloutOrders.length; i++, j++) {
document.getElementById("agentList").innerHTML += "<li>" + agentNames[i].value + ": ";
document.getElementById("agentList").innerHTML += falloutOrders[j].value + "</li><br/>";
}
document.getElementById("rContent").innerHTML += "</ul>";
}
什麼我不明白這是這樣的: 雖然兩個jQuery選擇器$(「.tttAgentName」)和$(「.tttFalloutOrder」)一直在工作,但我不得不用標準JavaScript來完成其餘的工作。舉例來說,如果我改變
document.getElementById("agentList").innerHTML
到
$("#agentList").html
腳本停止工作。
使用普通的JavaScript選擇器,腳本工作得很好。
我確定這是一件相當微不足道的事,但我在這裏錯過了什麼?
在此先感謝您的幫助!
您需要等待jQuery加載。所以在你的myscript.js文件中,把所有這些放在$(document).ready(function(){...})中; –
如果這確實是myscript.js的內容,那麼您將現有的'window.eval'函數更改爲您自己的...您可能需要重新考慮的內容。 –
@Josh非常感謝您解決腳本執行不當的問題 - 將所有內容放入$(document).ready()中,然後執行。 – slagjoeyoco