溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue項目中使用遞歸實現(xiàn)獲取父元素

發(fā)布時間:2020-11-09 16:23:37 來源:億速云 閱讀:387 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)vue項目中使用遞歸實現(xiàn)獲取父元素,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

使用遞歸查找父元素,知道查到想要的元素,然后return

 getParentTag(startTag) {
   var self = this;
   // 傳入標(biāo)簽是否是DOM對象
   if (!(startTag instanceof HTMLElement)) return;
   // 父級標(biāo)簽是否是body,是著停止返回集合,反之繼續(xù)
   let nodeName = "";
   if (startTag.parentElement) {
    nodeName = startTag.parentElement.nodeName ? startTag.parentElement.nodeName : "";
   } else {
    return;
   }
   if ("BODY" !== nodeName) {
    if (nodeName == "TD") {
     return startTag.parentElement;
    } else {
     if (startTag.parentElement.parentElement) {
      return self.getParentTag(startTag.parentElement);
     } else {
      return false;
     }
    }
   }
  }

調(diào)用函數(shù)

this.getParentTag(event.target);

補充知識:Vue.js如何獲得兄弟元素,子元素,父元素(DOM操作)

我就廢話不多說了,大家還是看代碼吧~

<button @click = “clickfun($event)”>點擊</button>
 
methods: {
clickfun(e) {
// e.target 是你當(dāng)前點擊的元素
// e.currentTarget 是你綁定事件的元素
  #獲得點擊元素的前一個元素
  e.currentTarget.previousElementSibling.innerHTML
  #獲得點擊元素的第一個子元素
  e.currentTarget.firstElementChild
  # 獲得點擊元素的下一個元素
  e.currentTarget.nextElementSibling
  # 獲得點擊元素中id為string的元素
  e.currentTarget.getElementById("string")
  # 獲得點擊元素的string屬性
  e.currentTarget.getAttributeNode('string')
  # 獲得點擊元素的父級元素
  e.currentTarget.parentElement
  # 獲得點擊元素的前一個元素的第一個子元素的HTML值
  e.currentTarget.previousElementSibling.firstElementChild.innerHTML
 
  }
    },

上述就是小編為大家分享的vue項目中使用遞歸實現(xiàn)獲取父元素了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI