从外部JS文件清除图像

时间:2012-03-26 18:20:47

标签: javascript jquery asp.net image external

我正在尝试使用外部jquery文件清除图像,但它甚至没有向我显示警报。

以下是我需要清除的div中的图像。

 $('#<%=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 + "' >");

这是我的外部JS文件:

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

1 个答案:

答案 0 :(得分:2)

<%=thumbs.ClientId%>在外部javascript文件中没什么意义。这是一个ASP.NET服务器端标记,只能在ASPX / ASCX WebForms中使用。

一种可能性是在ASPX页面中定义全局javascript变量:

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

然后在你单独的js文件中使用这个变量:

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

另一种可能性是使用类选择器而不是id选择器。如果您在ASP.NET 4.0上运行,另一种可能性是使用predictable ids,这要归功于ClientIDMode设置。