【问题标题】:Traversing up the dom getting the from a clicked element with id and class遍历 dom 从具有 id 和 class 的单击元素中获取
【发布时间】:2019-03-24 20:15:08
【问题描述】:

我找到了有关遍历 dom 从单击的元素获取节点的重要信息...

Traversing up the DOM getting the node from a clicked element

谁能帮助我在面包屑中包含 id= 和 class= 属性,就像您在大多数窃听器中看到的那样?

所以代替:

HTML  > BODY  > UL  > LI  > SPAN

我想要:

HTML  > BODY  > UL.menu  > LI  > SPAN#whatever

...或类似的东西。

【问题讨论】:

    标签: javascript html dom path breadcrumbs


    【解决方案1】:

    添加到linked code,下面的代码将在元素上附加所有id和类。

    单击元素<div id="id1" class="class1 class2">Test</div>...

    会输出 HTML > BODY > DIV#id1.class1.class2

    function clickHandler(event) {
        var target = event.target,
        breadcrumb = [];
    
        while (target) {
            var id = target.id;
            var classes = target.className;
            var crumb = target.tagName;
            if (id) { 
                crumb += "#" + id; 
            }
            if (classes) {
                var classList = classes.split(' ');
                for (var c = 0; c < classList.length; c++) {
                    crumb += "." + classList[c];
                }
            }
            breadcrumb.unshift(crumb);
            target = target.parentElement;
        }
        console.log(breadcrumb.join(" > "));
    }
    
    document.addEventListener('click', clickHandler, false);
    

    【讨论】:

    • 非常感谢!!效果很好!你能帮我也生成这条路吗? /html[1]/body[1]/div[1]/div[4]/div[1]/div[1]/div[1]/div[2]/div[2]/div[1] /div[2]/div[2]/div[1]/div[1]/div[1]/div[2]/div[1]/div[1]/div/div/div 用于 php xpath?
    猜你喜欢
    • 2014-05-24
    • 2013-03-28
    • 2022-12-05
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    • 1970-01-01
    相关资源
    最近更新 更多