在我的Sharepoint門戶網站,我試圖解決一個問題,其中列表比頁面邊框(自定義母版頁)更寬,並且當它們顯示在最右側時看起來很有趣。所以我正在寫一個將重置寬度的jQuery函數。jQuery的選擇,如果沒有任何前輩匹配類
我的功能很好,很好,它也適用於Sharepoint對話框 - 但我不希望它在對話框中工作!
這裏是我選擇工作的元素的方法。
var elements = $(".s4-wpcell-plain > div > *, #pagebody.s4-ca > div > *");
但是,如果頁面在對話框中運行,我想排除匹配。現在,有一個.ms-dlgContent
樣式,但它是上面的方式(比如,父級父代的父代等...)我在選擇器匹配中使用的任何元素。
如果沒有與該類匹配的前驅,我該如何匹配我的元素?
[更新]
嗯,謝謝你,忠實的jQuery大師這樣的快速反應。但是我嘗試了所有的技巧,但它並沒有完全實現,所以讓我多解釋一下(對不起,我之前沒有想到這一點)。
以下是對話框中#pagebody
div的css路徑。您可以在開始時看到指定對話框的類。
html.ms-對話框體形式#aspnetForm DIV#S4-workspace.s4-nosetwidth DIV#S4-bodyContainer DIV#ctl00_MSO_ContentDiv DIV#pagebody.s4-CA
這是CSS常規頁面的#pagebody
元素的路徑。
HTML體形式#DIV aspnetForm#S4-workspace.s4-nosetwidth DIV#S4-bodyContainer DIV#DIV ctl00_MSO_ContentDiv#pagebody.s4-CA
所以,我需要影響#pagebody
只是主頁而不是對話。請記住,我想避免選擇任何基於Sharepoint生成的GUID。
[編輯]
呃,對不起,看着那些路徑之後,現在我意識到我必須使用ms-dialog
代替OT ms-dlgContent
。我現在要標記答案。
這個問題應該被標記爲CSS也是。 –