簡體   English   中英

將HTML放入“包含”中時,為什么我的JavaScript無法正常工作?

[英]How come my javascript doesn't work when I put my HTML in an “include”?

{% include "abc.html" %}

在Django中,我將html放在其中。

現在,我的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的模板沒有呈現。

如果將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 include之后。

如果您希望對此值進行任意評估,建議您以這種方式直接調用該函數(如果您需要范圍)

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

})();

在abc.html中,將{{p.grid_image_ur l}}更改為{{p.grid_image_url}}。 可能不是,但這是一個好的開始。 頁面必須拋出錯誤,由於某種原因您看不到該錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM