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 に答える