1

我正在开发一个在名为Intrexx的开发平台上使用的 javascript 函数。它有其自身的局限性,但我相信下面的代码应该可以工作。它应该在数组中获取数字,根据它找到的内容计算百分比并返回该百分比以设置进度条的宽度。除了更改设计部分外,一切都按预期工作。任何想法为什么?

function progressBar(){
// get text of navigation (eg: 3 of 28) 
var textProgress = document.getElementById('ID_navigationinfocontrolAB63A4D8').firstElementChild.innerHTML

// get numbers inside above string as array
var a = textProgress.match(/\d+/g).map(Number)

// take numbers in array, calculate percentage of progress, return int
var progressPercentage = parseInt((a[0]*100)/a[1])

// alter design of progress bar
var progressBarDesign = document.getElementById('ID_separatorcontrolC6F8BAC8').parentNode
progressBarDesign.style.width = progressPercentage +'% !important' }

我尝试直接编辑元素,但是这和编辑 parentNode 都不起作用。

4

2 回答 2

0

要设置重要,您可以使用以下语法

 progressBarDesign.style.setProperty("width", progressPercentage + '%', "important");

或者,如果您可以不使用important当前语法,应该可以正常工作。

progressBarDesign.style.width = progressPercentage + '%';
于 2020-08-13T09:47:44.920 回答
-1

终于设法使它与jQuery一起工作。我不知道为什么这行得通,而我的初始代码却没有,但希望它对其他人有所帮助。发布与第一次尝试不同的地方

    // alter design of progress bar 
    var progressBarDesign = 
    document.getElementById('ID_separatorcontrolC6F8BAC8').parentNode

    // initialize below function
    setCss(progressBarDesign, 'width', progressPercentage + '%')
    }

    function setCss(oHtmlButton, cssKey, cssValue){
    $(oHtmlButton).css(cssKey, cssValue);
    }
于 2020-08-13T13:50:28.867 回答