在我的 Sharepoint 门户中,我正在尝试解决列表比页面边框(自定义母版页)更宽并且当它们显示在最右侧时看起来很有趣的问题。所以我正在编写一个 jQuery 函数来重置宽度。
我的功能运行良好,它也可以在 Sharepoint 对话中运行 - 但我不希望它在对话中运行!
这是我选择元素的方法,它很有效。
var elements = $(".s4-wpcell-plain > div > *, #pagebody.s4-ca > div > *");
但是,如果页面在对话中运行,我想排除匹配。现在,有一种.ms-dlgContent
样式,但它在我在选择器匹配中使用的任何元素之上(例如,父级的父级等......)。
如果没有与该类匹配的前任,我如何匹配我的元素?
[更新]
嗯,谢谢你,忠实的 jQuery 大师们如此快速的反应。但是我尝试了你所有的技术,但它并没有完全奏效,所以让我再解释一下(对不起,我以前没有想到这一点)。
#pagebody
这是对话中div的css路径。您可以在开始时看到指定对话框的类。
html.ms-dialog body form#aspnetForm div#s4-workspace.s4-nosetwidth div#s4-bodyContainer div#ctl00_MSO_ContentDiv div#pagebody.s4-ca
这是#pagebody
常规页面元素的 css 路径。
html body form#aspnetForm div#s4-workspace.s4-nosetwidth div#s4-bodyContainer div#ctl00_MSO_ContentDiv div#pagebody.s4-ca
所以,我只需要影响#pagebody
主页而不是对话。请记住,我想避免根据 Sharepoint 生成的 GUID 选择任何内容。
[编辑]
呃,对不起,看了那些路径之后,现在我意识到我必须ms-dialog
改用 ot ms-dlgContent
。我现在标记答案。