Javascript:在C#中有没有找到FindControl的方法?

时间:2017-03-29 03:35:11

标签: javascript c#

请不要使用jQuery解决方案!我还在学习JavaScript。

我有一个函数可以根据给定的checkbox控件分解一些DOM元素。

            function highlightRow(chk) {
                var cell = chk.parentNode;
                var row = cell.parentNode;
                var tbody = row.parentNode;
                var rows = tbody.children;
                var hrow = rows[0];                         //get header row
-->             var hCbox = hrow.getElementsByID("cbHDR");  //get 'cbHDR' checkbox that's in the header

                if (chk.checked) {
                    addClass(row, 'selected-row');
                }
                else {
                    removeClass(row, 'selected-row');
                }
    ..etc
    }

我遇到的问题是显示的行......

  

var hCbox = hrow.getElementsByID(" cbHDR");

如何根据给定元素查找元素,例如在Gridview的HeaderRow中?

以上返回null。事实上,我甚至不知道它是否运行,因为我不确定getElementsByID()是否纯粹是document对象的方法。

我试图避免使用document.get ...因为它在我的情况下检索4个GridViews中的所有标题复选框。我正在尝试根据HeaderRow 找到Header复选框。

由于

1 个答案:

答案 0 :(得分:1)

在纯javascript中,可以使用包含元素上的querySelector来按标记名称查找元素。因此,如果您已经获得了对gridview的dom元素的引用(例如,使用getElementById),则在名为gridView的变量中捕获,则:

let headerRow = gridView.querySelector('HeaderRow');

BTW let是es6语法。因此,如果您担心旧的浏览器兼容性,请改用var