是否有一种方法可以使用JavaScript使用完整字符串的一部分来获取它?

问题描述 投票:2回答:2

在GridView中,表的名称正在动态生成。但它会附加带有GridView ID的动态名称。类似于“ w123443dsfnsbd32dkkd_GridView1”。因此,每当我们重新加载网格时,第一部分将始终保持变化。因此我想使用“ _GridView1”获取网格的名称,以此获取完整的网格名称。那么有没有办法寻找呢?

我尝试过此var table = document.getElementById("GridView1");,但是没有用。

代码:

var table = document.getElementById("wcwidget_df5339c463eedb_widget_gridView1");

if (table.rows.length > 0) {


    for (var i = 0 ; i < table.rows.length; ++i) {


        if (table.rows[i].cells[0].innerText == "Company1" || table.rows[i].cells[0].innerText == "Company2" ||
            table.rows[i].cells[0].innerText == "Company5" ) 
    {
            for (var k = 1; k < table.rows[i].cells.length; ++k) {
                table.rows[i].cells[k].style.fontWeight = "bold";
                table.rows[i].cells[k].style.color = "black";
            }

        }

    }

    for (var i = 0 ; i < table.rows.length; ++i) {
        if (table.rows[i].cells[0].innerText == "Risk" || table.rows[i].cells[0].innerText == "Medium Risk" || table.rows[i].cells[0].innerText == "High Risk" ) {
            table.rows[i].cells[0].style.fontWeight = "bold";
            table.rows[i].cells[0].style.color = "black";
        }
    }

}
javascript
2个回答
1
投票

尝试一下:

document.querySelectorAll("[id*='GridView1']")

这将返回一个数组。


0
投票

在现代浏览器上,请参阅@amit的答案。

如果需要与旧版浏览器兼容:

var allElements = document.getElementsByTagName("*");
for (var i = 0, n = allElements.length; i < n; ++i) {
    var element = allElements[i];
    if (element.id.endsWith("_GridView1")) {
        // do something with the found element
        break;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.