通过jquery选择html元素的着色

时间:2008-12-12 04:00:45

标签: jquery html-select

我需要一些jQuery脚本的帮助:-)只是尝试使用jQuery ..我使用下面的脚本来选择select元素的选项。它适用于纯HTML,但在我的asp.net 2.0(Master + Content页面)中没有。脚本放在Head部分。

function pageLoad(){
   var allOddSelectOption  = "select option:odd";
   var evenStyle = "background-color:'#f4f4f4';color:'#555'";

   $(allOddSelectOption).attr('style',evenStyle);
}

我还尝试使用$(document).ready(function(){,但它也没有用。

任何想法,最受欢迎的提示?

3 个答案:

答案 0 :(得分:4)

检查css(properties),您可以非常轻松地应用样式。

$(document).ready(function(){
  $("select option:odd").css({'background-color' : 'yellow', 'font-weight' : 'bolder'});
});

编辑:对于ASP .NET 2.0 $(document).ready()将起作用,因为你可以调用它multiple times即使它不在头部也没有问题。


对于ASP .NET 3.5

您可以在MasterPage中添加如下头部占位符:

<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>

然后在您的子页面中,您可以通过内容标记将html放入其中:

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
  <script language="JavaScript>
    //Scripts here!
  </script>
</asp:Content> 

答案 1 :(得分:1)

我会说在每种情况下都使用.addClass而不是添加内联css属性。这些在javascript中难以维护。

e.g $('#someDiv').addClass('odd');

答案 2 :(得分:0)

当您使用母版页时,ASP.Net会修饰您的元素ID。它会提前放置很多东西,但最后留下原始ID。因此,您可以在ASP.Net服务器控件渲染上使用这样的选择器。

$("[id$=originalIdFromAspxPage]").attr...

$=部分表示这将匹配任何元素,其ID以您提供的ID结尾。

它不如直接ID选择器那么高效,但它在ASP.Net页面上就像一个魅力。