Detta är en annan post i min pågående serie om hur du använder jQuery med SharePoint.
Om du vill veta mer om jQuery, Jag rekommenderar: jQuery i aktion av Björn Bibeault och Yehuda Katz.
UPPDATERING (redan!): Jag tänkte på ett bättre sätt att hitta den <TR> tag jag vill dölja och skrev om det här. Du kan fortfarande finna denna artikel intressant hur som helst så är jag leavnig upp.
Jag vill dölja ett textfält, "Dölj mig!"som visas:
Följande jQuery gör susen för mig:
<script typ ="text/javascript"> $(funktionen() { $("ingång[titel = gömma mig!]').förälder().förälder().förälder().Dölj(); }); </skript> |
Koden säger, "hitta mig alla ingående fält vars titel = gömma mig!. Sedan, få sina överordnade och bredvid överordnade och * nästa * förälder (Puh!) och åberopa Dölj() metod på det där, vad det råkar vara.
Jag beräknat ute den överordnade strukturen genom att visa HTML-koden för formuläret som SharePoint skapats som visas:
<TR> <TD nowrap= true" nederkant= "top" bredd= "190px" klass= "ms-formlabel"> <H3 klass= "ms-standardheader"> <nobr>Gömma mig!</nobr> </H3> </TD> <TD nederkant= "top" klass= "ms-formbody" bredd= "400 pixlar"> <!-- Fältnamn = "Dölj mig!" FieldInternalName = "Hide_x0020_Me_x0021_" FieldType = "SPFieldText" --> <Spänn dir= "ingen"> <input Namn= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField" typ= "text" MaxLength= "255" ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField" titel= "Dölj mig!" klass= "ms-lång" /> <br> </Spänn> </TD> </TR> |
Denna bild visar samma, men märkt upp med föräldrar:
Den första föräldern (1) är en span-tagg. Spans överordnade (2) är en TD-tagg och sedan slutligen vi kommer till verkligt förälder jag vill dölja (3) vilket är TR-taggen själv.
Detta är ett ganska hemska tillvägagångssätt eftersom det är extremt beroende av mycket specifika strukturen av denna form. När SharePoint 2010 kommer ut, hela denna struktur skulle kunna ändra och bryta detta tillvägagångssätt. Vad jag verkligen vill göra är hantverk en jQuery väljare som är i linje med "hitta mig alla TR (och enda TR-Taggar) som har någonstans i deras underordnade element ett inmatningsfält vars titel = gömma mig!”. Jag börjar från botten och flytta. Förutsatt att jag lista ut, Jag kommer lägga upp en uppdaterad "snabb och enkel" post.
</slutet>
Följ mig på Twitter vid http://www.twitter.com/pagalvin
Vad sägs om denna strategi för att hitta överordnat tr? Första noden i insamlingen av förfader noder som är tr element, vilket resulterar i det närmaste överordnade tr.
.föräldrar("tr:först")