0

我正在尝试使用自定义对象更改 RSA Archer GRC 中应用程序布局上许多文本字段的样式。我写了一个脚本,它只运行一次,当应用程序打开时。问题是布局包含多个选项卡。更改选项卡后,脚本不再起作用。那么如何在每个选项卡更改时执行脚本?

var tableId = 'master_DefaultContent_rts_ts3295_s4655_f18821srvgrid_ctl00';
//table with target elements

$(document).ready(function () { //run script when page is loaded
    main();
});

function main() {
    var table = document.getElementById(tableId).getElementsByTagName("tbody")[0];
    var rows = table.getElementsByTagName("tr");

    for (var i = 0; i < (rows.length - 1); i++) {
        var field = rows[i].getElementsByTagName("td")[1];
        var spanElements = field.getElementsByTagName("span"); //target elements

        for (var k = 0; k < spanElements.length; k++) { //apply style for each of them
            var elem = spanElements[k];
            elem.style.fontFamily = "Times New Roman";
            elem.style.fontSize = "14pt";
            elem.style.color = "black";
        }
    }
}
4

2 回答 2

2

尝试在您的自定义对象中使用它而不是$(document).ready({});,它应该在每次加载选项卡时触发。

function pageLoad(){
     //code
}
于 2019-06-04T14:45:53.357 回答
0
<tabelement onclick="main()">Tab</tabelement>

使用选项卡上的 onclick 事件来执行 main 函数。

于 2019-06-04T10:31:33.903 回答