我想访问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';
}
答案 0 :(得分: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
}
}
答案 1 :(得分:2)
<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")
答案 2 :(得分:1)
document.getElementById('<%=GridView1.ClientID%>').className += "class";