是否有更好的方法从JavaScript event.target对象中获取选择器字符串?

时间:2019-05-25 19:15:19

标签: javascript dom css-selectors

在通过JavaScript查看event.target对象时,我可以看到节点的所有典型参数,例如nodeName,ID和类。但是,我想将其转换为例如h1.entry-title之类的字符串。

我可以看到Chrome DevTools可以做到这一点:

在检查器中:

devtools inspector

并在控制台中:

devtools console

由于我找不到作为字符串的整体“选择器”,因此我认为自己需要这样做。这是我想出的:

//Convert DOM objects into selector strings (tag#id.class)
function domObjectToSelector(object){
    //If a jQuery object was passed, use the proper node
    if ( !object.nodeType ){
        object = object[0];
    }

    var selector = object.nodeName.toLowerCase();

    if ( object.id ){
        selector += '#' + object.id;
    }

    if ( object.className ){
        selector += '.' + object.className.replace(/\s/g, '.');
    }

    return selector;
}

是否有更好的方法来执行此操作,或者这似乎是正确的方法?感觉就像我在对此进行过度设计...

0 个答案:

没有答案