如何获取JavaScript onclick

时间:2018-05-02 09:49:05

标签: javascript c# getelementbyid

我有一个GridView,其中每一行都有信息,当用户点击该行时,相关的信息显示在单独的DIV中(这可行)但是当我想访问行时(更改/添加css类)点击)我无法定位该行。如何定位JavaScript onclick事件分配给的行?

这是一个非常精简的代码版本:

protected void vd_gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow) 
    {
        e.Row.Attributes.Add("onclick", "showTest(this)");
    }
}

以下是名为onclick的JS:

<script type="text/javascript">
    function showTest(test) {
        // var rowTest1 = document.getElementById(this);
        // var rowTest2 = document.getElementById(this.id);
        // var rowTest3 = document.getElementById(test);
        // var rowTest4 = document.getElementById(test.id);

        var row = document.getElementById(test.id);
        var currentClass = row .className;

        row.className += "testClass";
    }
</script> 

调试页面时,这是生成的错误:

Empty string passed to getElementById().

2 个答案:

答案 0 :(得分:0)

您可以尝试test.target.id 因为我认为你在点击按钮时调用一个事件。所以这将通过该测试中的事件。

答案 1 :(得分:0)

最后这就是我所做的:

row.Attributes["id"] = gv.ID + "_row_" + e.Row.RowIndex.ToString();

在这里得到参考:

var row = document.getElementById(test.id);