2010-12-10 46 views
1
{% include "abc.html" %} 

在Django中,我把html放在這裏。當我將HTML放入「包含」中時,我的javascript如何不起作用?

現在,我的JavaScript將無法正常工作。

$(function(){ 
    alert('hi'); 
    $(".div_inside_abc").css("background","#000"); 

}); 

我甚至試過把這個javascript放在abc.html(在頂部)。它仍然無法工作。

當我這樣做:

$(".div_inside_abc").each(function(e){ 
    document.write($(this).attr("data-rel")); 
}); 

我得到這個:

{{p.grid_image_ur l}}{{p.grid_image_ur l}}{{p.grid_image_ur l}}{{p.grid_image_ur l}}{{p.grid_image_ur l}}{{p.grid_image_ur l}} 

這是不正常的!就好像Django的模板在我「包含」某些東西時沒有渲染。

+0

被正確引用的jQuery? – BoltClock 2010-12-10 02:49:13

回答

3

如果您將JavaScript代碼放入HTML中,它將不會執行(或無效HTML)。如果你打算這樣做(我不建議)或作爲DOM1屬性,你必須將它包裝在SCRIPT標記中。

如果你想jQuery的運行負荷這個功能我建議在多數民衆贊成jQuery的後加載外部引用的JavaScript文件中這樣做,

$(document).ready(function() { 
    alert('hi'); 
    $(".div_inside_abc").css("background","#000"); 
}); 

或內聯將其添加爲,

<script language="javascript"> 
    $(document).ready(function() { 
     alert('hi'); 
     $(".div_inside_abc").css("background","#000"); 
}); 
</script> 
包含jQuery之後的

如果你想這是隨意評價我建議調用函數直接這樣(如果你需要的範圍)

(function(){ 
    alert('hi'); 
    $(".div_inside_abc").css("background","#000"); 

})(); 
0

在abc.html變化{{p.grid_image_ur L}}到{{p.grid_image_url}}。可能不是,但是一個好的開始。該頁面必須拋出一個錯誤,由於某些原因你看不到。

相關問題