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

In Django, ich lege meine HTML in diese.Wie kommt es, dass mein Javascript nicht funktioniert, wenn ich meinen HTML-Code in ein "include" setze?

Jetzt wird mein Javascript nicht funktionieren.

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

}); 

Ich versuchte sogar in abc.html dieses Javascript setzen (oben). Es wird immer noch nicht funktionieren.

Wenn ich tun:

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

bekomme ich diese:

{{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}} 

, die nicht normal ist! Es ist, als würde Djangos Vorlage nicht gerendert werden, wenn ich etwas "einschließe".

+0

Wird jQuery ordnungsgemäß referenziert? – BoltClock

+0

Und haben Sie ein Element mit der Klasse 'div_inside_abc'? –

+2

Sie sollten das generierte HTML posten. Das wird sowohl Ihnen als auch uns sehr helfen, das Problem zu sehen. –

Antwort

3

Wenn Sie JavaScript-Code in HTML einfügen, wird er nicht ausgeführt (oder gültiger HTML-Code). Sie müssen es in ein SCRIPT Tag wickeln, wenn Sie es so machen wollen (was ich nicht rate) oder als ein DOM1-Attribut.

Wenn Sie möchten, ich jQuery diese Funktion auf Last laufen würde dies zu tun in einer extern referenzierten JavaScript-Datei vorschlagen, die nach jQuery,

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

oder das Hinzufügen es inline wie

<script language="javascript"> 
    $(document).ready(function() { 
     alert('hi'); 
     $(".div_inside_abc").css("background","#000"); 
}); 
</script> 
geladen wird

nach dem jQuery enthalten.

Wenn Sie wollen, dass diese willkürlich zu bewertende Ich würde vorschlagen, die Funktion direkt auf diese Weise aufgerufen wird (wenn Sie den Umfang benötigen)

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

})(); 
0

In abc.html Änderung {{p.grid_image_ur l}} zu {{p.grid_image_url}} Mag sein, aber es ist ein guter Anfang. Die Seite muss einen Fehler enthalten, den Sie aus irgendeinem Grund nicht sehen können.

Verwandte Themen