添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
傻傻的铁链  ·  如何升级到 React 18 – ...·  4 周前    · 
开朗的海豚  ·  PayloadsAllTheThings/X ...·  3 周前    · 
坐怀不乱的爆米花  ·  GitHub - ...·  3 周前    · 
另类的冲锋衣  ·  How to Fix "Secure ...·  3 月前    · 
坚韧的显示器  ·  ProgrammerXDB Blog | ...·  3 月前    · 
傲视众生的饭卡  ·  Agora Place Osaka Namba·  3 月前    · 
腼腆的大象  ·  罗昌珍_百度百科·  5 月前    · 

在vue的点击事件中,有许多东西需要使用javascript的语句来进行操作,
例如html节点信息的获取,以及相关节点的操作等

<button @click=f_click($event)> 测试点击 </button>

HTML DOM 节点

在 HTML DOM (Document Object Model) 中, 每个东西都是 节点 :

  • 文档本身就是一个文档对象
  • 所有 HTML 元素都是元素节点
  • 所有 HTML 属性都是属性节点
  • 插入到 HTML 元素文本是文本节点
  • 注释是注释节点
  • 这里记录vue点击事件的节点信息获取与操作:

    methods: {
        f_click: function(event){
            // 当前点击的元素
            event.target;
            // 绑定事件的元素
            event.currentTarget;
            // (target与currentTarget的区别主要体现在使用事件委托时,发生事件委托时,
            // 点击的元素与绑定事件的元素非同一元素,反之不发生事件委托时,两者相同,是同一元素)
            // 获得绑定事件元素的前一个节点信息(包含元素节点、属性节点、文本节点、注释节点)
            event.currentTarget.previousSibling;
            // 获得绑定事件元素的前一个元素节点(只包含元素节点,只有html内容)
            event.currentTarget.previousElementSibling;
            // 下一个元素信息获取使用 nextSibling、nextElementSibling
            // 获得绑定事件元素的父节点信息
            event.currentTarget.parentNode;
            // 获得绑定事件元素的父级元素
            event.currentTarget.parentElement;
            // 获得绑定事件元素的第一个子节点信息
            event.currentTarget.firstChild;
            // 获得绑定事件元素的第一个子元素
            event.currentTarget.firstElementChild;
            // 获得绑定事件元素中id为ceshi的元素集合
            event.currentTarget.getElementById("ceshi");
            // 获得绑定事件元素中class为ceshi的元素集合
            event.currentTarget.getElementsByClassName("ceshi");
            // 获得绑定事件元素的的内容(类似jquery的text())
            event.currentTarget.textContent;
            // 获得绑定事件元素的的内容(类似jquery的html())
            event.currentTarget.innerHTML;
            // 获得绑定事件元素的ceshi属性值(类似jquery的attr('ceshi'))
            event.currentTarget.getAttribute("ceshi");
            // 删除class属性某个值(类似jquery的removeClass)
            event.currentTarget.parentNode.getElementsByClassName('active')[0].classList.remove("active")
            // 向class属性中添加值(类似jquery的addClass)
            event.currentTarget.classList.add("active")
            // 点击删除当前元素
            event.currentTarget.parentElement.removeChild(event.currentTarget);
            // 点击删除当前元素的父级元素
            event.currentTarget.parentElement.parentElement.removeChild(event.currentTarget.parentElement);