首页 > 技术文章 > vue click时获取与操作父、子、兄弟元素

hehuiqiong 2020-06-12 17:33 原文

methods: {
    click(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.getAttributeNode("ceshi");

        // 点击删除当前元素
        event.currentTarget.parentElement.removeChild(event.currentTarget);
        // 点击删除当前元素的父级元素
        event.currentTarget.parentElement.parentElement.removeChild(event.currentTarget.parentElement);
    }
}

推荐阅读