原生js通过最外层id获取下面指定的子元素

需求:在vue中使用v-for循环出来的元素,设置动态id,之后获取下面的所有textarea标签

template:

<table cellpadding = 2 v-for="(item, index) in arrData" :key="index" cellspacing = 0 :id="‘table‘ + index">
  <thead>
    <tr>
      <th>本周计划</th>
      <th>本周实际完成</th>
      <th>开累情况</th>
      <th>计划完成情况分析</th>
      <th>存在的问题</th>
      <th>下周计划</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <textarea type="text" readonly=‘readonly‘ v-model="item.curWeekly.curweekplan"></textarea>
      </td>
      <td>
        <textarea type="text" readonly=‘readonly‘ v-model="item.curWeekly.actual_final" ></textarea>
      </td>
      <td>
        <textarea type="text" readonly=‘readonly‘ v-model="item.curWeekly.condition" ></textarea>
      </td>
      <td>
        <textarea type="text" readonly=‘readonly‘ v-model="item.curWeekly.analysis" ></textarea>
      </td>
      <td>
        <textarea type="text" readonly=‘readonly‘ v-model="item.curWeekly.problem" ></textarea>
      </td>
      <td>
        <textarea type="text" readonly=‘readonly‘ v-model="item.curWeekly.nextplan" ></textarea>
      </td>
    </tr>
  </tbody>
</table>

methods:

// 设置高度
getHeight () {
  let arr = this.arrData
  for (let i in arr) {
    let tableId = ‘table‘ + i
    let parent = document.getElementById(tableId) // 获取父元素
    let textArea = parent.getElementsByTagName(‘textarea‘) // 获取父元素下面的所有textarea元素
    // 对子元素的操作
    console.log(textArea)
  }
},

creat中:

async created () {
  await this.getData() // 先获取数据,使用异步机制
  this.getHeight() // 获取数据完了生成了节点之后才能获取到元素
},

原文地址:https://www.cnblogs.com/wgl0126/p/10998745.html

时间: 2024-11-07 15:41:47

原生js通过最外层id获取下面指定的子元素的相关文章

js中用tagname和id获取元素的3种方法

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>3种用tagname和id获取元素的方法</title> <style> body{     margin: 0; } ul{     margin: 0;     padding: 0;     list-style: none; } h1{

获取当前div中的文本(只获取当前div的, 子元素不要, 基于layui)

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test2</title> <link rel="stylesheet" type="text/css" href="res/layui/css/layui.css"> <script type="text/j

关于JS(原生js+jq)中获取、设置或者删除元素属性和获取元素值

一.JS获取.设置或者删除元素属性 原生js: $("要获取属性class/id名").getAttribute("属性"); $("要设置属性class/id名").setAttribute("属性","属性值"); $("要删除属性class/id名").removeAttribute("属性"); jq: $("要获取属性class/id名"

【前端性能】必须要掌握的原生JS实现JQuery

很多时候,我们经常听见有人说jquery有多快多快.在这个各种类库满天飞的时候,不得不说的是,能有原生JS快吗? 是的,明显原生JS要更快,因为诸如JQuery这样的库必须要兼容各种浏览器和低版本和许多其他的东西,考虑通用性必然会导致性能的损耗. 当然,我不是提倡写代码纯用原生JS实现,我记得淘宝玉伯曾经说的一句话“框架能够让我们走的更快,但只有了解原生的JS才能让我们走的更远”. 一些感(fei)想(hua): 1.原生的js,好比全真教的武功,一步步从基础开始(先练气再御剑),很长一段时间内

扩展原生js的一些方法

扩展原生js的Array类 1 Array.prototype.add = function(item){ 2 this.push(item); 3 } 4 Array.prototype.addRange = function(items){ 5 var length = items.length; 6 if(length!=0){ 7 for (var index = 0; index < length; index++) { 8 this.push(items[index]); 9 10

原生js 样式的操作整理

内联样式的获取 function getStyle(obj,attr){//简单的获取内联样式 return obj.currentStyle?obj.currentStyle[attr]:obj.getComputedStyle(obj,false)[attr]; }   下面是比较完善的, //参考地址 http://stylechen.com/getstyle2.html var getStyle = function( elem, style ){ //单位如果em或%的单位,getCo

告别组件之教你使用原生js和css写移动端轮播图

在工作中由于项目需要要写一个轮播图,本想使用组件直接调用实现快速开发,但是一想到自己经常使用组件但是让自己手写的话确实一点都不会. 一个不会手写组件的前端程序员不是一个好程序员!于是打算自己手写一个. 老规矩,首先看一下最终效果,这个最终可以实现定时自动播放,触摸滑动,手动修改下面横条效果等功能. 项目中使用到的HTML代码如下 <div class="banner"> <ul class="clearfix"> <li><

jquery选择器如何获取父级元素、同级元素、子元素

一.新建页面 1 <ul> 2 <li>list item 1</li> 3 <li>list item 2</li> 4 <li class="third-item">list item 3</li> 5 <li>list item 4</li> 6 <li>list item 5</li> 7 </ul> 8 9 <p>Hell

原生js获取元素的class属性(获取class的所有元素)以及改变或添加calssName

今天在工作中,用到了设置className,因此查阅了一下资料,总结一下. 一.如何用原生js获取class属性 1 <div class = "dom'> 2 </div> 元素JS实现方法: 1 function $class(domclass) 2 { 3 var odiv = document.getElementsByTagName("*"); 4 var aResult = []; //定义一个空数组,用来存放与目标className相同的