2012-03-26 13 views
0

Ich versuche, Bilder mit externen JQuery-Datei zu löschen, aber es zeigt mir nicht einmal die Warnung.Löschen von Bildern aus externen JS-Datei

Hier sind die Bilder in meinem div, die ich gelöscht werden muss.

$('#<%=thumbs.ClientId%>').append("<img class='LoadclickImage' align='left' style='height:48px;width:75px;' src='Uploads/" + document.getElementById("<%=currentDirectory.ClientId%>").value + "/" + file.name + "' width='75' height='50' rel='group1' href='Uploads/" + document.getElementById("<%=currentDirectory.ClientId%>").value + "/" + file.name + "' >"); 

Dies ist meine externe JS-Datei:

self.ClearAll_button.click(function (e) { 
    $('#<%=thumbs.ClientId%> img').hide; 
    alert('You have cleared everything!'); 
    e.preventDefault(); 
    } 
+0

Mit extern meinen Sie eine separate .js-Datei? –

+0

Bitte zeigen Sie die tatsächliche HTML (was der Browser sieht), nicht Ihre ASP-Vorlage. – jfriend00

+0

Sind Sie sicher, dass Ihre Schaltflächen nicht NULL sind? –

Antwort

2

<%=thumbs.ClientId%> macht sehr wenig Sinn in externen Javascript-Dateien. Das ist ein ASP.NET-Serverseiten-Tag, das Sie nur in ASPX/ASCX-WebForms verwenden können.

Eine Möglichkeit ist die globale JavaScript-Variable in Ihrer ASPX-Seite zu definieren:

<script type="text/javascript"> 
    var thumbsId = '<%=thumbs.ClientId%>'; 
</script> 

und dann in Ihrer separaten js Datei Verwendung dieser Variablen:

self.ClearAll_button.click(function (e) { 
    $('#' + thumbsId + ' img').hide(); 
    alert('You have cleared everything!'); 
    e.preventDefault(); 
} 

Eine weitere Möglichkeit, ein Klasse-Selektor verwenden anstelle eines ID-Selektors. Und noch eine andere Möglichkeit, wenn Sie auf ASP.NET 4.0 laufen, ist die Verwendung predictable ids dank der ClientIDMode Einstellung.

+0

@ Darin-Vielen Dank für Ihre Antwort. Es gibt mir jetzt eine Warnung, aber löscht keine Bilder. – coder

+0

@ Darin-Eine kleine Korrektur innerhalb Ihres Codes ausgearbeitet.Für "Verbergen" sollte es ausblenden(); – coder

+0

@DotNetter, richtig, ich habe meine Antwort behoben. Vielen Dank. –