Javascript 设置由GUID生成的ID的样式
我想设计一个特定的jqueryui对话框的样式,以便它能够以自己为中心。 问题是ID总是会更改,因为它是作为控制器中的GUID生成的。我如何选择一个不断变化的ID,以便将其居中 这是在控制器中Javascript 设置由GUID生成的ID的样式,javascript,jquery,css,asp.net-mvc,Javascript,Jquery,Css,Asp.net Mvc,我想设计一个特定的jqueryui对话框的样式,以便它能够以自己为中心。 问题是ID总是会更改,因为它是作为控制器中的GUID生成的。我如何选择一个不断变化的ID,以便将其居中 这是在控制器中 ViewBag.UniqueID = Guid.NewGuid().ToString(); 这是在cshtml中 <div class="__helpItemArea" id='@String.Format("div{0}", ViewBag.UniqueID)' style='@(ViewBag
ViewBag.UniqueID = Guid.NewGuid().ToString();
这是在cshtml中
<div class="__helpItemArea" id='@String.Format("div{0}", ViewBag.UniqueID)' style='@(ViewBag.WindowWidth==null ? "" : String.Format("width:{0}px;",ViewBag.WindowWidth)) @(ViewBag.WindowHeight==null ? "" : String.Format("height:{0}px;",ViewBag.WindowHeight)) '>
如您所见,这将生成div ID的GUID,我无法选择特定的div来实际设置其样式。
有什么建议吗?您最好使用以选择器开头的属性
[id^="div"]{
/*styles here*/
}
因为您的div Id是动态生成的,它们是GUID,您不想使用该类,因为它也在其他元素上使用。我建议您使用jquery属性
因此,假设您的div上有一个数据属性data item='helpArea'
因此,要设计这些div的样式,只需使用以下代码
$('#test').on('click', function() {
$('div[data-item="helpArea"]').each(function() {
$(this).css('background-color', 'slategrey');
$(this).css('color', 'white');
});
});
这是一个样品。希望这能有所帮助。如果id是动态生成的,请使用类来选择div。@Sushil,这是我尝试过的,但该类来自模板。它被应用程序的其他区域使用。所以它会影响到我不想影响的其他领域。如果我能用另一个ID就好了。试着给一个数据属性,我不熟悉这样做,你能给我举个例子吗?所以你可以试试这个小提琴。在这里,我根据data属性选择div标记。试试看,让我知道它是否适合你。我以前从未用过。我猜它看起来就是这个样子?[id^=div]{背景色:fff;边框:1px实心fff;边框半径:4px;方框阴影:0 1px 3px rgba0,0,0.5;显示:无;左侧:-50.0em;顶部:-1.7em;右侧:0;最小宽度:55em;最大宽度:55em;位置:绝对;z索引:1000;}它不工作不,它针对第一个对话框。有一个对话框可以正常打开,然后在这个对话框中有一个帮助按钮可以打开另一个对话框。第二个对话框具有每次加载文档时生成的唯一guid ID。这就是我想要的目标。这解决了问题。很高兴能帮助你。