从当前事件目标的事件对象中提取选择器(将对象名称作为字符串)

时间:2018-02-17 00:52:15

标签: javascript jquery

我试图从event.currentTarget(e,g input#lst-ib.gsfi)中提取选择器。我可以找到其他属性,例如event.currentTarget.baseURI。我可以知道如何获得input#lst-ib.gsfi?控制台输出后面包含有关该对象的所有详细信息。我可以将originalEvent.path作为对象数组。但不知道如何获得标题/名称(它被称为什么) 非常感谢您的所有帮助。

currentTarget:input#lst-ib.gsfi
    accept:""
    accessKey:""
    align:""
    alt:""
    assignedSlot:null
    attributes:NamedNodeMap {0: class, 1: id, 2: maxlength, 3: name, 4: autocomplete, 5: title, 6: type, 7: value, 8: aria-label, 9: aria-haspopup, 10: role, 11: aria-autocomplete, 12: dir, 13: spellcheck, 14: style, class: class, id: id, maxlength: maxlength, name: name, autocomplete: autocomplete, …}
    autocapitalize:"sentences"
    autocomplete:"off"
    autofocus:false
    baseURI:"https://www.google.ca/search?ei=fnSHWtmQOcPcswWo67yYBA&q=get+object+name+javascript&oq=getobject+name+&gs_l=psy-ab.3.0.0i22i30k1l10.2185.66281.0.69197.18.18.0.0.0.0.201.1902.4j12j1.17.0....0...1.1.64.psy-ab..1.17.1900...0j46j33i160k1j33i21k1j35i39k1j0i131i67k1j0i131k1j0i67k1j0i46k1j0i20i263k1j0i10k1.0.rFRsim4bz6g"
    checked:false
    childElementCount:0
    childNodes:NodeList []
    children:HTML

1 个答案:

答案 0 :(得分:0)

我认为选择器是合成的:input是标记,#lst-ib是ID,.gsfi是类。因此,您需要获取该属性并将它们组合到此选择器中。

类似的东西:

var el =  event.currentTarget;  
var selector = el.tagName.toLowerCase() + '#' + el.id + '.' + el.className;

当然,您需要添加不同的检查并处理ID或类

的乘法类和absens