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)