1

我想访问 asp.net gridview 的 cssClass 属性并用 Javascript 更改它。

我知道我可以像这样访问其他个人样式属性:

document.getElementById('<%=GridView1.ClientID%>').style

但我特别想更改 cssClass 。这是我尝试第一个建议后的结果。它目前还不起作用。我将您给我的那条线放在突出显示选定行的函数的第一部分中,以便所有先前突出显示的行都将恢复为正常样式。想法?

function ChangeRowColor(rowID) {
    document.getElementById('<%=gvxTaskList.ClientID%>').className += "tablestyle";

    var color = document.getElementById(rowID).style.backgroundColor;
    if (color != 'yellow')
        oldColor = color;
    if (color == 'yellow')
        document.getElementById(rowID).style.backgroundColor = oldColor;
    else document.getElementById(rowID).style.backgroundColor = 'yellow';
}                  
4

3 回答 3

3

尝试这个

document.getElementById('<%=GridView1.ClientID%>').className = "class";

并添加到现有类

document.getElementById('<%=GridView1.ClientID%>').className += " class";

更新

function addClass()
{
    var exClass = document.getElementById('<%=GridView1.ClientID%>').className;

    if(exClass.indexOf('className') == -1)  //check that the class does not already exist
    {
        if(exClass.length == 0)
           document.getElementById('<%=GridView1.ClientID%>').className += 'className'; //add
        else
           document.getElementById('<%=GridView1.ClientID%>').className += ' className'; //append
    }
}
于 2012-10-11T21:41:06.410 回答
2

asp.net 中的 cssClass 将简单地转换为客户端 html 中的类,例如,在 .net 端中的代码如下:

<asp:datagrid id="myGrid" cssClass="myClass" runat=server></asp:datagrid">

将大致翻译为:

<table id="someRandomIdOrClientIdThatYouSet" class="myClass"><tr>....</tr></table>

所以要实现你想要的,在javascript中,你可以改变它:

document.getElementById('<%=GridView1.ClientID%>').className = "newClassName";

或者使用像 jQuery 这样的库:

$('#<%=GridView1.ClientID%>').addClass("newClassName")
于 2012-10-11T21:40:11.583 回答
1
  document.getElementById('<%=GridView1.ClientID%>').className += "class";
于 2012-10-11T21:35:39.750 回答