我正在尝试为 div 创建覆盖层。我正在尝试使用 JQuery 来完成此任务。 JS 看起来像这样:
$('#container').wrapInner('<div />')
.css('opacity', '0.5')
.css('z-index', '2')
.css('background','black')
.attr('id','overlay')
}
};
更新:这是应用 JS 函数之前的标记:
<body>
<form id="form1" runat="server">
<div id="header">My Header</div>
<div id="container">Container</div>
<div id="menu">
<input type="text" />
<input type="button" class="button" value="Go" onclick="overlay.toggleOverlay();return true" />
</div>
</form>
这似乎以我意想不到的方式操纵“容器”div。这是运行 wrapInner 方法后标记的样子:
<div id="overlay" style="z-index: 2; filter: alpha(opacity=50); ZOOM: 1; background: black;">
<div>ContainerDiv</div>
</div>
这就好像wrapInner 方法已经将容器div 的属性 strip 化了。有人可以向我建议更好的方法吗?
谢谢..
最佳答案
对“wrapInner”的调用返回您使用 $('#container') 创建的 jQuery 对象,而不是包装容器的 div。试试这个:
$('#container').wrapInner('<div />').children()
.css(/* ... */)
.css(/* ... */)
.attr('id', 'overlay');
[编辑]实际上我不知道你期望发生什么,所以我不确定我的例子是否有意义。
[再次编辑]好的,如果您想包装容器,那么您不想使用“wrapInner()”。只需使用“wrap”,然后调用 .parent() 并添加您的 CSS 和“id”值。
关于asp.net - JQuery Overlay-wrapInner 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2214625/