Arsip bulanan: Mei 2011

Namun lebih jQuery–Mengubah ukuran gambar contoh

Saya mewarisi bagian web dari klien vendor tua dan memiliki masalah ukuran gambar.  Gambar harus 60×50 tapi untuk beberapa alasan aneh, vendor asli memaksa mereka ke dalam 42×42, begitu mereka melihat tergencet:

 

Baik gambar

Citra buruk

Berikut adalah markup (agak sederhana):

<Tabel kelas = 'diperpanjang-outlook'>
  <thead>
    <TR>
      <th  lebar ='100′>3 Selasa</th>
    </TR>
  </thead>

  <tbody>
    <kelas TR = 'ramalan'>
      <lebar TD ='100′>
        <UL>
          <Li kelas = 'tinggi'>Tinggi: 72&deg;F</Li>
          <Li kelas = 'rendah'>Rendah: 44&deg;F</Li>
          <Li kelas = 'kondisi'>Cerah
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/Trans/cond007.png’ lebar ='42’ tinggi ='42’ Alt =” />
          </Li>
        </UL>
      </TD>
    </TR>

  </tbody>

</Meja>

Anda akan perhatikan bahwa meskipun path ke gambar sendiri menunjukkan dimensi yang tepat (60×50) vendor asli memaksa dalam 42×42.  Mengapa?  Gila.

Pokoknya, Saya menginginkan solusi cepat dan mudah untuk masalah ini dan aku berpaling untuk jQuery.  Triknya adalah untuk menemukan semua yang sesuai <img> Tag.  Aku tidak ingin Bergelandangan dengan tag img lain (yang ada banyak).  Ini sedikit jQuery melakukan trick:

<jenis script = text/javascript"" src ="http://Ajax.googleapis.com/Ajax/libs/jQuery/1.5/jQuery.min.js"></script>

<script type = "text/javascript">
     $(dokumen).siap(fungsi () {

         $(' li.condition > img').masing-masing(fungsi (Indeks, item)
           
{
             $(item).CSS("lebar", "60"); 
             $(item).CSS("tinggi", "50");
            });
     }); // pada beban dokumen
</script>

Sedikit kode menemukan koleksi <Li> Tag kelas yang adalah "kondisi" dan <img> anak-anak.  Ini kemudian iterates melalui semua itu.  Bekerja seperti pesona.

Aku mungkin bisa merampingkan, tapi aku tidak pernah tipe orang unix yang dipecahkan π untuk 18 digit presisi menggunakan sed dan awk dan aku tidak seperti itu jika jQuery pria baik Tersenyum.

</akhir>

Berlangganan ke blog saya.

Ikuti saya di kegugupan di http://www.twitter.com/pagalvin

Parsing XML dengan LINQ

Berikut adalah contoh cepat menggunakan LINQ untuk mengurai beberapa  XML dan dapatkan di manis, manis atribut di dalamnya.

Di sini adalah saya ingin parse XML:

<?Versi XML = "1.0" pengkodean = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

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

    <PageLayout nama = "xyzzy2">
      <Tab>
        <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" />
      </Tab>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Saya ingin membangun beberapa tab pada saat runtime oleh parsing di atas.  Tab saya tergantung pada tata letak halaman.  Jika nama layout halaman saya adalah "xyzzy2" maka saya ingin mendapatkan tab 100, 101 dan 103 (pada tab dalam <PageLayout nama = "xyzzy2">).

Berikut adalah LINQ yang melakukan itu:

var allTabs =
              dari p dalam
                  XElement.Parse(theXmlToParse).
                 
Elemen("PageLayouts").
                  Elemen("PageLayout")
              mana (p.Attribute("nama").Value.Equals("xyzzy2"))
              dari m p.Elements("Tab").Elemen("Tab")
              Pilih m;

          Results.Text = string.Kosong;

          foreach (var aTab di allTabs)
          {
              = Results.Text
                  "Tab ketertiban: " + aTab.Attribute("TabOrder").Nilai + " |" +
                  "Tab Label: " + aTab.Attribute("TabLabel").Nilai + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Nilai + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Nilai + "r";
          }

Di atas, variabel "theXmlToParse" adalah sebuah string variabel, Namun Anda dapat menggunakan beban() metode pada Sungai jika Anda seperti.

"Hasil" adalah label dalam formulir web dan ketika mengeksekusi kode ini, tampak seperti ini:

SNAGHTML11cd2e7c

Aku belum bekerja keluar bagaimana untuk mengurutkan hasil belum, Jadi aku akan meninggalkan itu untuk posting blog masa depan.

</akhir>

Berlangganan ke blog saya.

Ikuti saya di kegugupan di http://www.twitter.com/pagalvin