在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";
}
}
}
尝试一下:
document.querySelectorAll("[id*='GridView1']")
这将返回一个数组。
在现代浏览器上,请参阅@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;
}
}