javascript 更改getElementsByClassName的样式会导致编译错误

sdnqo3pr  于 2023-01-07  发布在  Java
关注(0)|答案(4)|浏览(147)

我试图改变所有元素的样式,我通过调用方法getElementsByClassName收到的。问题是,它确实工作时,它已经编译过(我注解了这些行,让它编译),它只是说错误的cmd。编译后,我只是设置行回到正常,他们不断给出错误,但在浏览器中工作。任何想法对这个奇怪的行为?

注解掉时:

未注解并给出错误时:

7rtdyuoh

7rtdyuoh1#

我认为问题出在TypeScript上。您应该尝试此解决方法

var texts = document.getElementsByClassName("section_text") as HTMLCollectionOf<HTMLElement>;
o8x7eapl

o8x7eapl2#

我在尝试使用angular函数时遇到过类似的问题,问题是getElementsByClassName返回的是一个节点列表,而不是一个普通的数组,因此您无法像现在这样访问属性。You can read more in about it in this answer.

fbcarpbf

fbcarpbf3#

你可以简单地addClass()

    • 中央支助组**
.newStyle{
    width:100%;
    float:left;
}
    • 使用Jquery**
$('.section_text input').addClass('newStyle');
    • 使用Javascript**
document.querySelector('.section_text input').classList.add('newStyle';
wvt8vs2t

wvt8vs2t4#

getElementsByClassName返回节点列表,直接访问属性。

let hiddenLocales = document.getElementsByClassName('localeMatch') as HTMLCollectionOf<HTMLElement>;
let hideParentNode = hiddenLocales[0].parentElement;
hideParentNode?.classList.add('newStyle');

相关问题