vue中操作dom,隐藏table中的滚动条

在使用elementUI table组件时,单元格内出现了滚动条。

目的:隐藏滚动条。原本想的是通过/deep/穿透去覆盖原始css属性,但是不生效,或者生效后等级低不能覆盖原属性。

然后想通过操作DOM设置style样式,这样等级最高。就遇到了在mounted周期内,通过document.getElementsByClassName()或document.querySelector()获取元素节点,通过console.log()输出是能看到有数据的,但是document.getElementsByClassName('fengxian')[0]去取数据则是undefined。

后来用了this.$nextTick(()=>{}),也不行,后来增加setTimeout解决了。然后输出的数据是这样的:

在操作dom时,table列难道还没有生成?

 

代码:

mounted() {

      this.$nextTick(() => {
        setTimeout(() => {
          document.getElementsByClassName('fengxian')[1].childNodes[0].setAttribute("style","overflow:hidden !important;")
        },500)
      })

    },

// document.getElementsByClassName('fengxian')[1].childNodes[0].style.overflow = "hidden"
不能加‘!important’

 

还有个疑问:el-table-column标签和span标签之间为什么会多一层div,element 提供的class-name 也只能操作到el-table-column标签。

 

上面的代码就是 给class为fengxian的下面的子节点div增加overflow属性。

 


版权声明:本文为qq_20984609原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。