vue如何获取指定元素(ref)

1 获取指定元素

// 先给元素命名test
<div ref="test">测试</div>
<script>
  // 打印test这个元素
  console.log(this.$refs.test)
</script>

2 点击获取相应元素

e.target 获取当前点击的元素
e.currentTarget 获取绑定事件的元素
e.currentTarget.previousElementSibling 获取前(上)一个元素
e.currentTarget.parentElement 获取父元素
e.currentTarget.firstElementChild 获取第一个子元素
e.currentTarget.nextElementSibling 获取后(下)一个元素
e.currentTarget.getAttributeNode('class') 获得点击元素的class属性

<div class="box_home">
  box_home
  <div class="box_pre">box_pre</div>
  <div class="box" @click="eleclick($event)">
    <div class="box_item">box_item</div>
    <div class="box_item2">box_item2</div>
  </div>
  <div class="box_next">box_next</div>
</div>
eleclick(e){
  console.log("当前点击的元素");
  console.log(e.target);
  console.log("上一个标签");
  console.log(e.currentTarget.previousElementSibling);
  console.log("父标签");
  console.log(e.currentTarget.parentElement);
  console.log("第一个子标签");
  console.log(e.currentTarget.firstElementChild);
  console.log("下一个标签");
  console.log(e.currentTarget.nextElementSibling);
  console.log("绑定事件的标签");
  console.log(e.currentTarget);
  console.log("获得点击元素的class属性");
  console.log(e.currentTarget.getAttributeNode('class'));
}

3 获取子组件属性

// 父组件
<div>
  <child ref="children"></child>
</div>

// 子组件
<template>
  <div>
    <div>无关紧要的属性</div>
    <div ref="test">父组件想要获取的</div>
  </div>
</template>

// 父组件获取子组件的js代码
console.log(this.refs.children.refs.test)

参考地址:https://www.jb51.net/article/245234.htm

posted @ 2022-05-28 17:40  不叫一日闲过  阅读(3369)  评论(0编辑  收藏  举报