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

时间:2018-04-26 06:30:04

标签: javascript html css typescript angular5

我试图通过调用方法getElementsByClassName来改变我收到的所有元素的样式。问题是它在之前编译时确实有效(我将这些行注释掉以便让它编译),它只是说明了cmd中的错误。在编译之后我只是将线路设置恢复正​​常,它们不断给出错误但是在浏览器中工作。对这种奇怪行为的任何想法?

enter image description here

enter image description here

注释时:

enter image description here

未评论并提供错误时:

enter image description here

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

你可以简单地addClass()

CSS

.newStyle{
    width:100%;
    float:left;
}

使用Jquery

$('.section_text input').addClass('newStyle');

答案 2 :(得分:0)

我试图用棱角分离的东西时遇到了类似的问题。问题是getElementsByClassName返回一个节点列表,而不是一个普通的数组,所以你不能像你想要的那样访问属性。 You can read more in about it in this answer.