Archifau Misol: Mai 2011

JQuery Mwy Eto–Newid Maint 1 Enghraifft Delwedd

Rwy'n etifeddu rhan o we gwerthwr y cleient hen ac mae ganddo broblem delwedd maint.  Dylai'r delweddau fod yn 60×50 ond am ryw reswm od, y gwerthwr gwreiddiol yn eu gorfodi yn 42×42, fel eu bod yn edrych yn gwasgu:

 

Delwedd Da

Delwedd wael

Heres '' r xml (symleiddio braidd yn):

<tabl dosbarth = 'estynedig-rhagolygon'>
  <thead>
    <tr>
      <th  width = '100′>3 Dydd Mawrth</th>
    </tr>
  </thead>

  <tbody>
    <ddosbarth tr = 'rhagolwg'>
      <td width = '100′>
        <st>
          <li class = 'uchel'>Uchel: 72&i chi;F</li>
          <ddosbarth li = 'isel'>Isel: 44&i chi;F</li>
          <li class = 'cyflwr'>Sunny
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ width = '42’ uchder = '42’ alt =” />
          </li>
        </st>
      </TD>
    </tr>

  </tbody>

</tabl>

Byddwch yn nodi, er bod y llwybr i'r ddelwedd ei hun yn dangos y dimensiwn priodol (60×50) y gwerthwr gwreiddiol gorfodi yn 42×42.  Pam?  Crazy.

Beth bynnag, Roeddwn i eisiau ateb cyflym a hawdd at y mater hwn ac yr wyf yn troi i jQuery.  Y gamp oedd i ddod o hyd pob un o'r briodol <img> tagiau.  Doeddwn i ddim eisiau tail am ag unrhyw tagiau img eraill (ac y mae llawer o).  Mae hyn yn dipyn o jQuery wnaeth y tric:

<SGRIPT math = testun/javascript"" src ="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></sgript>

<sgript math = "testun/javascript">
     $(dogfen).barod(swyddogaeth () {

         $(' li.condition > img ').bob(swyddogaeth (mynegai, eitem)
           
{
             $(eitem).css("lled", "60"); 
             $(eitem).css("uchder", "50");
            });
     }); // ar y llwyth ddogfen
</sgript>

Mae hynny'n dipyn o cod dod o hyd i'r casgliad <li> tagiau eu dosbarth yw "cyflwr" ac <img> plant.  Mae wedyn yn ailadrodd trwy hynny i gyd.  Wedi gweithio fel swyn.

Gallwn i yn ôl pob tebyg symleiddio, ond yr wyf byth yn y math o unix guy a datrys π i 18 digid manwl gan ddefnyddio sed a awk ac nid wyf yn fath, os guy jQuery naill ai Smile.

</diwedd>

Tanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Dosrannu XML gyda LINQ

Dyma enghraifft cyflym gan ddefnyddio LINQ i dosrannu rhai  XML a chael yn y melys, priodoleddau melys ynddo.

Dyma y XML rwyf am dosrannu:

<?Fersiwn XML = "1.0" amgodio = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <Enw PageLayout = "xyzzy">
      <Tabs>
        <Tab TabOrder = "1" TabLabel = "x" SharePointContentType = "_FITTED" AdditionalConstraints = "ac1" />
        <Tab TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </Tabs>
    </PageLayout>

    <Enw PageLayout = "xyzzy2">
      <Tabs>
        <Tab TabOrder = "100" TabLabel = "x" SharePointContentType = "_FITTED" AdditionalConstraints = "ac1" />
        <Tab TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <Tab TabOrder = "103" TabLabel = "z" SharePointContentType = 'c" AdditionalConstraints = "ac3" />
      </Tabs>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Rwyf am i adeiladu rhai tabiau ar Rhedeg trwy dosrannu yr uchod.  Mae fy tabs yn dibynnu ar gynllun dudalen.  Os yw enw fy gosodiad dudalen yw "xyzzy2" yna yr wyf yn awyddus i gael tabs 100, 101 a 103 (y tabiau yn <PageLayout name = "xyzzy2">).

Dyma y LINQ sy'n gwneud ei:

Roedd allTabs =
              gan p yn
                  XElement.Parse(theXmlToParse).
                 
Elfennau("PageLayouts").
                  Elfennau("PageLayout")
              lle (p.Attribute("enw").Value.Equals("xyzzy2"))
              o m yn p.Elements("Tabiau").Elfennau("Tab")
              dewiswch m;

          Results.Text = string.Empty;

          foreach (Roedd ATAB i allTabs)
          {
              Results.Text =
                  "Tab Gorchymyn: " + aTab.Attribute("TabOrder").Gwerth + " |" +
                  "Tab Label: " + aTab.Attribute("TabLabel").Gwerth + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Gwerth + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Gwerth + "r";
          }

Yn yr uchod, y newidyn "theXmlToParse" yn newidyn llinyn, ond gallwch ddefnyddio y llwyth() dull ar ffrwd os ydych yn hoffi.

"Canlyniadau" yn label ar ffurflen ar y we a phan fydd y cod hwn yn gweithredu, mae'n edrych fel hyn:

SNAGHTML11cd2e7c

Nid wyf wedi gweithio allan sut i drefnu canlyniadau eto, felly byddaf yn gadael y ar gyfer swydd blog yn y dyfodol.

</diwedd>

Tanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin