Arkivat mujore: Maj 2011

JQuery akoma më shumë–Ndrysho një shembull Image

Kam trashëguar një pjesë të internetit nga shitësi vjetër të klientit dhe ajo ka një problem me permasa të imazhit.  Imazhet duhet të jetë 60×50 por për disa arsye të çuditshme, shitësi origjinal detyruar ato në 42×42, kështu që ata shikojnë hequr:

 

Image Mirë

Image Bad

Ja markup (thjeshtuar disi):

<'zgjeruar-opinion' tabelë class =>
  <thead>
    <tr>
      <th  width = '100′>3 E martë</th>
    </tr>
  </thead>

  <tbody>
    <tr class = 'parashikimi'>
      <td width = '100′>
        <st>
          <li class = 'të lartë'>I lartë: 72&ju;F</li>
          <li class = 'të ulët'>Ulët: 44&ju;F</li>
          <'kusht' LI class =>Me diell
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ width = '42’ height = '42’ alt =” />
          </li>
        </st>
      </td>
    </tr>

  </tbody>

</tryezë>

Ju do të vini re se edhe pse rruga për imazhin e vetë tregon dimensionin e duhur (60×50) shitësi origjinal të detyruar atë në 42×42.  Përse?  I çmendur.

Dosido, Doja një zgjidhje të shpejtë dhe të lehtë për këtë çështje dhe unë u kthye për të jQuery.  Qëllimi ishte për të gjetur të gjitha të përshtatshme <img> tags.  Unë nuk dua të endem me ndonjë tags img tjera (të cilat nuk janë shumë).  Kjo pak e jQuery ka mashtrim:

<script type="text/javascript" src ="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></dorëshkrim>

<script type="text/javascript">
     $(dokument).gati(funksion () {

         $(‘li.condition > 'img).çdo(funksion (indeks, artikull)
           
{
             $(artikull).css("width", "60"); 
             $(artikull).css("height", "50");
            });
     }); // on ngarkesës dokumentin
</dorëshkrim>

Se pak e kodit gjen mbledhjen <li> tags cilëve klasë është "kusht" dhe <img> fëmijët.  Ajo pastaj iterates nëpër të gjithë se.  Ka punuar si një hajmali.

Unë ndoshta mund të modernizojë atë, por unë kurrë nuk ishte një lloj i djalë unix që zgjidhet π në 18 shifrat saktësi duke përdorur sed dhe awk dhe unë nuk jam se lloji qoftë djalë jQuery ose buzëqeshje.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Analizë gramatikore XML me LINQ

Këtu është një shembull të shpejtë duke përdorur LINQ të kuptoj disa  XML dhe të marrë të ëmbël, atributet e ëmbël aty.

Ja XML unë dua të bëj analizë gramatikore:

<?xml version="1.0" encoding="utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

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

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

  </PageLayouts>
</DeafultConfigurationSets>

Unë dua të ndërtuar disa tabs në kohën e duhur nga analizimi sipër.  Tabs mia varet nga një layout faqe.  Në qoftë se emri Layout faqen time është "xyzzy2", atëherë unë dua të merrni tabs 100, 101 dhe 103 (skedat në <PageLayout name = "xyzzy2">).

Ja LINQ që e bën atë:

var = allTabs
              nga p në
                  XElement.Parse(theXmlToParse).
                 
Elemente("PageLayouts").
                  Elemente("PageLayout")
              Ku (p.Attribute("name").Value.Equals("xyzzy2"))
              prej meje në p.Elements("Tabs").Elemente("Tab")
              Zgjidh m;

          Results.Text = string.Empty;

          foreach (var aTab në allTabs)
          {
              Results.Text =
                  "Tab Order: " + aTab.Attribute("TabOrder").Vlerë + " |" +
                  "Tab Label: " + aTab.Attribute("TabLabel").Vlerë + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Vlerë + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Vlerë + "\r";
          }

Në sipër, variabël "theXmlToParse" është variabël string, Por ju mund të përdorni LOAD() Metoda në lumë, nëse ju pëlqen.

"Rezultate" është etiketë në formën e internetit dhe ekzekuton Kur kjo pin, kjo duket si ky:

SNAGHTML11cd2e7c

Unë nuk kam punuar se si të lloj rezultatet ende, kërcejnë unë do të iki që për një blog post të ardhmen.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin