每月档案: 5 月 2011

然而更多的 jQuery–调整大小图像示例

我继承旧客户端供应商的 web 部件,它有一个图像的大小问题。  图像应该是 60×50 但由于某种奇怪的原因, 原始的供应商将他们被迫 42×42, 因此,他们看挤压:

 

良好的形象

坏的图像

这里是标记 (某种程度上简化):

<表类 =' 扩展 outlook'>
  <thead>
    <tr>
      <th  宽度 = 100′>3 (星期二)</th>
    </tr>
  </thead>

  <tbody>
    <tr 类 = '预测'>
      <td 宽度 = 100′>
        <ul>
          <李类 = '高'>高: 72&二甘醇;F</李>
          <李类 = '低'>低: 44&二甘醇;F</李>
          <李类 = '条件'>阳光灿烂
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ 宽度 = 42年’ 高度 = 42年’ alt =” />
          </李>
        </ul>
      </运输署>
    </tr>

  </tbody>

</表>

您会注意到即使 图像本身的路径 显示正确的维度 (60×50) 原始供应商强迫它在 42×42.  为什么?  疯了.

不管怎么说, 我想要快速而方便地解决这个问题,我转向 jQuery。  诀窍就是要找到相应的所有 <img> 标记。  我不想与任何其他 img 标记施肥 (其中有很多).  JQuery 的这位是个把戏:

<脚本类型 ="文本/javascript" src ="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></脚本>

<脚本类型 ="文本/javascript">
     $(文档).准备好了(功能 () {

         $(' li.condition > img').每个(功能 (索引, 项目)
           
{
             $(项目).css("宽度", ""60); 
             $(项目).css("高度", ""50);
            });
     }); // 在加载文档
</脚本>

这位的代码查找集合 <李> 谁的班是"条件"的标签和 <img> 儿童。  然后,它循环访问所有这一切。  迷人.

我大概可以提高 it 效率, 但我永远不会是那种解决 π 的 unix 家伙 自 18 使用 sed 和 awk 的位数精度和我不是那种如果 jQuery 家伙要么 微笑.

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

解析 XML 使用 LINQ

这里是一个简单的例子,使用 LINQ 来分析一些  XML 和甜才能得到, 甜其中属性.

这里是我想要解析的 XML:

<?xml 版本 ="1.0" 编码 ="utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <PageLayout 名称 ="xyzzy">
      <选项卡>
        <选项卡 TabOrder ="1" TabLabel ="x" SharePointContentType ="" AdditionalConstraints ="ac1"/>
        <选项卡 TabOrder ="2" TabLabel ="y" SharePointContentType ="b" AdditionalConstraints ="ac2"/>
      </选项卡>
    </PageLayout>

    <PageLayout 名称 ="xyzzy2">
      <选项卡>
        <选项卡 TabOrder ="100" TabLabel ="x" SharePointContentType ="" AdditionalConstraints ="ac1"/>
        <选项卡 TabOrder ="101" TabLabel ="y" SharePointContentType ="b" AdditionalConstraints ="ac2"/>
        <选项卡 TabOrder ="103" TabLabel ="z" SharePointContentType ="c" AdditionalConstraints ="ac3"/>
      </选项卡>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

我想通过以上的分析建立在运行时的某些选项卡。  我的选项卡取决于页面的布局。  如果我的页面布局的名称是"xyzzy2",然后我想要的选项卡 100, 101 和 103 (中的选项卡 <PageLayout 名称 ="xyzzy2">).

这里是 LINQ 并不管用:

var allTabs =
              从 p 中
                  XElement.Parse(theXmlToParse).
                 
元素(""PageLayouts).
                  元素(""PageLayout)
              在哪里 (p.Attribute("名称").Value.Equals(""xyzzy2))
              从 p.Elements m("选项卡").元素("选项卡")
              选择 m;

          Results.Text = 字符串。空;

          foreach (在 allTabs 中的 var aTab)
          {
              Results.Text =
                  "Tab 键顺序: " + aTab.Attribute(""TabOrder).价值 + " |" +
                  "选项卡标签: " + aTab.Attribute(""TabLabel).价值 + " | " +
                  "SharePointContentType: " + aTab.Attribute(""SharePointContentType).价值 + " | " +
                  "AdditionalConstraints: " + aTab.Attribute(""AdditionalConstraints).价值 + ""r;
          }

在上面, "theXmlToParse"变量是字符串变量, 但您可以使用负载() 如果你喜欢一个流上的方法.

"结果"是一个 web 窗体上,当这段代码执行时的标签, 它看起来像这样:

SNAGHTML11cd2e7c

我没找出如何尚未对结果进行排序, 所以我会把这个未来的博客.

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin