archivos mensuales: Mayo 2011

Aún más jQuery–Cambiar el tamaño de un ejemplo de imagen

Heredé un elemento web de proveedor antiguo del cliente y tiene un problema de tamaño de imagen.  Las imágenes deben ser 60×50 pero por alguna extraña razón, el proveedor original les obligó a 42×42, para que su aspecto aplastados:

 

Buena imagen

Mala imagen

Aquí es el marcado (algo simplificado):

<tabla clase = 'outlook extendida'>
  <THEAD>
    <TR>
      <TH  ancho = 100′>3 Martes</TH>
    </TR>
  </THEAD>

  <tbody>
    <clase TR = 'Previsión'>
      <anchura TD = 100′>
        <UL>
          <clase de Li = 'alto'>Alta: 72&DEG;F</Li>
          <clase de Li = 'baja'>Baja: 44&DEG;F</Li>
          <clase de Li = 'condición'>Soleado
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/Trans/cond007.png’ anchura = 42’ altura = 42’ Alt =” />
          </Li>
        </UL>
      </TD>
    </TR>

  </tbody>

</mesa>

Se tenga en cuenta que aunque el camino a la propia imagen muestra la dimensión correcta (60×50) el vendedor original lo forzó en 42×42.  ¿Por qué?  Loco.

De todos modos, Yo quería una solución rápida y fácil a este problema y me volví a jQuery.  El truco era localizar todos los adecuados <IMG> Etiquetas.  No quiero tontear con cualquier otras etiquetas img (de los cuales hay muchos).  Un poco de jQuery hizo el truco:

<la escritura de tipo = text/javascript"" src ="http://Ajax.googleapis.com/Ajax/libs/jQuery/1.5/jQuery.min.js"></secuencia de comandos>

<tipo de secuencia de comandos = "text/javascript">
     $(documento).listo(función () {

         $(' li.condition > IMG').cada(función (índice, artículo)
           
{
             $(artículo).CSS("anchura", "60"); 
             $(artículo).CSS("altura", "50");
            });
     }); // carga de documento
</secuencia de comandos>

La colección encuentra ese trozo de código <Li> Etiquetas cuya clase es "condición" y <IMG> a los niños.  Luego itera a través de todo eso.  Trabajó como un encanto.

Yo probablemente pudiera racionalizarlo, Pero nunca fui a la clase de tipo unix que resolvió π Para 18 precisión de dígitos con sed y awk y yo no soy ese tipo si jQuery o tipo Sonreír.

</final>

Suscribirse a mi blog.

Sígueme en Twitter en http://www.twitter.com/pagalvin

Analizar XML con LINQ

Este es un ejemplo rápido mediante LINQ para analizar algunos  XML y obtener en el dulce, dulce atributos en ella.

Aquí está el código XML desea analizar:

<?XML version = "1.0" Encoding = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <PageLayout nombre = "xyzzy">
      <Fichas>
        <Ficha TabOrder = "1" TabLabel = "x" SharePointContentType = "un" AdditionalConstraints = "ac1" />
        <Ficha TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </Fichas>
    </PageLayout>

    <PageLayout nombre = "xyzzy2">
      <Fichas>
        <Ficha TabOrder = "100" TabLabel = "x" SharePointContentType = "un" AdditionalConstraints = "ac1" />
        <Ficha TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <Ficha TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </Fichas>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Quiero acumular algunas fichas en tiempo de ejecución al analizar lo anterior.  Mis fichas dependen de un diseño de página.  Si el nombre del diseño de mi página es "xyzzy2", a continuación, quiero obtener fichas 100, 101 y 103 (las fichas <PageLayout nombre = "xyzzy2">).

Aquí está el LINQ que hace:

var allTabs =
              de p en
                  XElement.Parse(theXmlToParse).
                 
Elementos("PageLayouts").
                  Elementos("PageLayout")
              donde (p.Attribute("nombre").Value.Equals("xyzzy2"))
              m en p.Elements("Fichas").Elementos("Ficha")
              Seleccione m;

          Results.Text = string.Vacío;

          foreach (var aTab en allTabs)
          {
              Results.Text =
                  "El orden de tabulación: " + aTab.Attribute("TabOrder").Valor + " |" +
                  "Ficha etiqueta: " + aTab.Attribute("TabLabel").Valor + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Valor + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Valor + "r";
          }

En la anterior, la variable "theXmlToParse" es una variable de cadena, pero se puede utilizar la carga() método sobre una secuencia si te gusta.

"Resultados" son una etiqueta en un formulario web y cuando se ejecuta este código, este aspecto:

SNAGHTML11cd2e7c

No he elaborado de cómo ordenar los resultados todavía, así que te dejo para un futuro blog.

</final>

Suscribirse a mi blog.

Sígueme en Twitter en http://www.twitter.com/pagalvin