我试图改变所有元素的样式,我通过调用方法getElementsByClassName收到的。问题是,它确实工作时,它已经编译过(我注解了这些行,让它编译),它只是说错误的cmd。编译后,我只是设置行回到正常,他们不断给出错误,但在浏览器中工作。任何想法对这个奇怪的行为?
注解掉时:
未注解并给出错误时:
7rtdyuoh1#
我认为问题出在TypeScript上。您应该尝试此解决方法
var texts = document.getElementsByClassName("section_text") as HTMLCollectionOf<HTMLElement>;
o8x7eapl2#
我在尝试使用angular函数时遇到过类似的问题,问题是getElementsByClassName返回的是一个节点列表,而不是一个普通的数组,因此您无法像现在这样访问属性。You can read more in about it in this answer.
getElementsByClassName
fbcarpbf3#
你可以简单地addClass():
addClass()
.newStyle{ width:100%; float:left; }
$('.section_text input').addClass('newStyle');
document.querySelector('.section_text input').classList.add('newStyle';
wvt8vs2t4#
getElementsByClassName返回节点列表,直接访问属性。
let hiddenLocales = document.getElementsByClassName('localeMatch') as HTMLCollectionOf<HTMLElement>; let hideParentNode = hiddenLocales[0].parentElement; hideParentNode?.classList.add('newStyle');
4条答案
按热度按时间7rtdyuoh1#
我认为问题出在TypeScript上。您应该尝试此解决方法
o8x7eapl2#
我在尝试使用angular函数时遇到过类似的问题,问题是
getElementsByClassName
返回的是一个节点列表,而不是一个普通的数组,因此您无法像现在这样访问属性。You can read more in about it in this answer.fbcarpbf3#
你可以简单地
addClass()
:wvt8vs2t4#
getElementsByClassName
返回节点列表,直接访问属性。