使用JS注入样式时遇到问题

时间:2017-08-11 17:26:47

标签: javascript html css

我想为元素添加样式,但没有完整的元素名称。 我使用document.querySelector来查找元素并将其id保存到名为elID的变量中,这是我到目前为止所拥有的。

var elID = document.querySelector('[id^="slide-bg-"]').id;
console.log(elID);
document.getElementById(elID).setAttribute("style", "fill-opacity: 0;");

然而,它没有设置属性,而是我得到错误" actionator :: exeJavaScript - elID.setAttribute不是函数"

html of the page

1 个答案:

答案 0 :(得分:2)

首先,querySelector的参数应该是字符串"",而不是数组[]
querySelector返回第一个匹配的元素,而不是 ID 。因此elID将引用Element而非ID字符串。此外,您在"style"

附近缺少引号
 var elID = document.querySelector('[id^="slide-bg-"]')
 elID.setAttribute("style", "fill-opacity: 0;");

另外,请使用elID.setAttribute("style", "fill-opacity: 0;");代替:

elID.style.fillOpacity = 0;