<link rel="stylesheet" href="css/FirstPage.css" />
<link rel="stylesheet" href="css/ui-lightness/jquery-ui-1.10.3.custom.css" />
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.10.3.custom.js"></script>
<script type="text/javascript" src="js/slide.js"></script>
<script>
$(document).ready(function () {
$("div[id$='slide']").show('bounce');
$("div[id$='content']").accordion({ fillSpace: true, collapsible: true, active: false });
});
</script>
enter code here
但它不起作用,此代码完全适用于Web表单但不能在母版页中工作为什么?
答案 0 :(得分:2)
我怀疑这是因为您的控件ID将由内容占位符的ID前置。 使用下面的CSS选择器访问以id“slide”和“content”结尾的控件。希望有所帮助..
$("div[id$='slide']")
$("div[id$='content']")
答案 1 :(得分:2)
您的代码无法正常工作,因为默认情况下,Web表单页面(无论是常规页面还是母版页面)会为控件添加额外的前缀,如果它们放在实现INamingContainer
接口的其他控件中。
如果您确定runat="server"
上需要div
属性,那么您可以使用内联代码并使用ClientID
属性来获取生成的标识符:
$(document).ready(function () {
$("#<%=slide.ClientID%>").show('bounce');
$('#<%=content.ClientID%>').accordion({ fillSpace: true, collapsible: true, active: false });
});
或者,您可以使用ClientIDMode
枚举来控制如何选择客户端标识符。在您的情况下,使用ClientIDMode.Static
:
<div runat="server" class="slide" id="slide" ClientIDMode="Static"></div>