好的,有時jQuery是定義的,有時它不是。以下是我在此頁面上使用的以下jQuery代碼:http://devs.dream-portal.net/dp11/index.phpChrome中的jQuery未定義錯誤
如果定義了列,那麼所有列的寬度都是相同的,否則,2列的列是200像素,中間的寬度是100%。我試圖讓在這裏任何時候都定義jQuery的,但不能找出問題到底是什麼?
任何幫助將極大地意識到:
<script type="text/javascript">
if(!window.jQuery)
{
var script = document.createElement("script");
script.type = "text/javascript";
script.async = false;
script.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
var oScripts = document.getElementsByTagName("script");
var s = oScripts[0];
s.parentNode.insertBefore(script, s);
}
var totaltds = 0;
function resizeColumns()
{
jQuery(document).ready(function($){
$('tr[class^="tablerow"]').each(function() {
var tds = $(this).children('td[class^="tablecol"]').length;
if (tds > totaltds)
totaltds = tds;
});
var contentPadding = $("#content_section").css('padding-left');
contentPadding = parseInt(contentPadding.substring(0, contentPadding.length - 2));
var subPadding = contentPadding/totaltds;
$(window).bind("resize", function(){
for(var i=0; i<totaltds; i++)
{
var colWidth = ($("#main_content_section").width()/totaltds) - subPadding;
$(".tablecol_" + i).css({'width': colWidth + 'px', 'max-width': colWidth + 'px', 'min-width': colWidth + 'px'});
}
}).trigger("resize");
$("#hideMe").parent().parent().parent().hide();
});
}
if (document.addEventListener)
document.addEventListener("DOMContentLoaded", resizeColumns, false);
else
addLoadEvent(resizeColumns);
</script>
<div id="hideMe"></div>
所有這些代碼插入插入到HTML的主體中,因爲它插入到該頁面上的模塊中,並且需要這樣。我在這裏做錯了什麼?有沒有更好的方法來定義jQuery的,這樣它總是定義:
Chrome的錯誤,幾乎所有的時間在這條線:jQuery(document).ready(function($){
話說jQuery
沒有定義。
「所有這些代碼被插入到HTML的主體中,因爲它被插入到該網頁上的模塊,並且需要是這樣的。」這似乎是你的問題。 – j08691 2013-05-06 14:20:36
這個代碼是否在文檔準備好之前包含在頁面中(意思是沒有ajax,而是內聯?) – 2013-05-06 14:21:27
是的,它是內聯的。我之前完成了這個工作,它工作得很好。在定義第一個腳本標記之前,將jQuery插入頭部。 – 2013-05-06 14:23:46