遍历dom元素下面的子元素的方法,vue中原始标签的ref得到是该元素的dom及下面包含的子dom,与组件ref是引用不同

 研究到这个的目的来源是 想用div 遍历方式 替代之前的table tr td 那种框选功能,觉得div灵活,可以随便在外面套层,td与tr之间就不能加div加了布局就乱,然后使用之前的原理(

  const cellList = tableIdR.value.querySelectorAll('td');

  cellList.forEach((cell) => { const initRow = parseInt(cell.getAttribute('initrow'), 10)

),发现这样遍历不好使。然后进一步找ref得到的是啥、dom节点要怎样遍历。

ref放在自定义组件上得到的是组件的引用,
放到原生元素如div 等上面得到的是旗下包含的dom节点

 <div class="squ1"  ref="tableIdR" :id="tableId">
          <el-row class="t1"  v-for="rindex of rowNum" :key="rindex" :id="rindex" :ref="rindex">
              <div v-for="cindex of colNum" :key="cindex" :ref="getCellSeq(rindex,cindex)"
                  :id="getCellSeq(rindex,cindex)"
                  :SampleID="getObjectSampleID(rindex,cindex)"
                  :initRow="rindex"
                  :initCol="cindex"
                 
                  @mousedown="handleMouseDown"
                  @mouseup="handleMouseUp"
                  @contextmenu="openContextMenu($event)"
                  @dblclick = "openEditEnable(rindex,cindex,true)"
                  :style="{width:widthp,height:heightp,fontSize: fontSize}"
                >
              {{ rindex }}{{ cindex }}
              </div>
          </el-row>
      </div>
    </div>



const tableId = 'tableIdR'


// 下面是遍历ref是 ’tableIdR‘的原生dom下的子元素dom,ref放在自定义组件上得到的是组件的引用,
放到原生元素如div 等上面得到的是旗下包含的dom节点,如下面截图
const clearBorderStyles = (tableId) => {
  console.log('vue新方法 tableIdR 打印原生元素的ref内容  ',tableIdR)
  Array.from(tableIdR.children).forEach((child) => {
    console.log('下一级元素: ',child); // 输出每个子元素
    Array.from(child.children).forEach((childSub) => {
      console.log('下二级元素: ',childSub); // 输出每个子元素
    });
  });

 

相关推荐

  1. 获取页面标签元素dom方法

    2024-07-23 09:40:03       52 阅读
  2. Vue3: 获取元素DOM方法

    2024-07-23 09:40:03       44 阅读
  3. vue项目获取 iframe DOM元素

    2024-07-23 09:40:03       51 阅读
  4. js获取dom元素宽度数值

    2024-07-23 09:40:03       56 阅读
  5. DOM概念?获取html元素方法有哪些?

    2024-07-23 09:40:03       18 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 09:40:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 09:40:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 09:40:03       45 阅读
  4. Python语言-面向对象

    2024-07-23 09:40:03       55 阅读

热门阅读

  1. ArcGIS Pro SDK (九)几何 12 多面体

    2024-07-23 09:40:03       13 阅读
  2. 数据库连接池

    2024-07-23 09:40:03       15 阅读
  3. RKNN执行bash ./build-linux_RK3566_RK3568.sh 报错

    2024-07-23 09:40:03       14 阅读
  4. 数学建模--图论与最短路径

    2024-07-23 09:40:03       15 阅读
  5. mariadb安装在服务器(Linux)

    2024-07-23 09:40:03       15 阅读
  6. 银行卡二三四要素核验的多种应用场景

    2024-07-23 09:40:03       17 阅读
  7. 怎么在 Ubuntu 中卸载已经安装的软件

    2024-07-23 09:40:03       16 阅读
  8. ubuntu 源码安装postgis插件

    2024-07-23 09:40:03       17 阅读
  9. SpringCloud-Zuul-03

    2024-07-23 09:40:03       18 阅读