PHP前端开发

vue怎么获取标签

百变鹏仔 3周前 (09-25) #VUE
文章标签 标签
可在 vue 中获取标签的方法有:使用 ref 属性(获取 dom 元素)、使用 queryselector(在根元素中查找)、使用 document.getelementbyid(依据 id 获取)、使用 element 库的 $ 方法(无需 id)以及遍历 dom 节点。

如何在 Vue 中获取标签

在 Vue 中获取标签有以下几种方法:

1. 使用 ref 属性

给标签添加一个 ref 属性,可以获取标签的 DOM 元素。

立即学习“前端免费学习笔记(深入)”;

<template><div ref="myDiv">    ...  </div></template><script>export default {  mounted() {    const myDiv = this.$refs.myDiv;  }}</script>

2. 使用 querySelector

使用 querySelector 方法可以在组件的根元素中查找标签。

<template><div id="app">    ...  </div></template><script>export default {  mounted() {    const myDiv = document.querySelector('#app div');  }}</script>

3. 使用 document.getElementById

使用 document.getElementById 方法可以基于 ID 获取标签。

<template><div id="myDiv">    ...  </div></template><script>export default {  mounted() {    const myDiv = document.getElementById('myDiv');  }}</script>

4. 使用 Element 库的 $ 方法

如果不确定标签的 ID,可以使用 Element 库的 $ 方法获取标签。

<template><div class="my-div">    ...  </div></template><script>import { $ } from 'element-ui';export default {  mounted() {    const myDiv = $('my-div');  }}</script>

5. 遍历 DOM 节点

可以使用 document.documentElement.childNodes 和 Element.childNodes 属性遍历 DOM 节点,找到目标标签。

<template><div>    ...  </div></template><script>export default {  mounted() {    const myDiv = findElement((node) => node.tagName === 'DIV', document.documentElement);  }}function findElement(predicate, node) {  if (predicate(node)) {    return node;  }  for (let i = 0; i < node.childNodes.length; i++) {    const found = findElement(predicate, node.childNodes[i]);    if (found) {      return found;    }  }  return null;}</script>