我正在寻找一个特定的jqueryui对话框,以便它自己居中。 问题是ID总是会更改,因为它是作为控制器中的GUID生成的。如何选择一直在变化的ID,以便我可以居中?
这是在控制器中
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来实际设置样式。 有什么建议吗?
答案 0 :(得分:0)
您最好的选择是使用属性开头选择器
from plone.directives import form
from zope import schema
class IMySchema(form.Schema):
title = schema.TextLine(title=u"Title")
@form.default_value(field=IMySchema['title'])
def default_title(data):
return data.context.suggested_title
答案 1 :(得分:0)
因为您的div
Id's
是动态生成的,而且他们是GUID
并且您不想使用class
因为它也用在其他元素上。我建议您使用jquery data 属性。
因此,我们假设您的data-item='helpArea'
div
因此,为了设置这些div的样式,您只需使用以下代码
即可$('#test').on('click', function() {
$('div[data-item="helpArea"]').each(function() {
$(this).css('background-color', 'slategrey');
$(this).css('color', 'white');
});
});
此处有一个示例 JSFIDDLE 。希望这有帮助。