通过仅使用javascript检查父元素是否包含特定的CSS类?

cod*_*der 2 javascript

当我点击任何DOM元素时,我想检查其parent元素是否包含特定的类.我正在尝试这种方式,但无法实现这一目标.有谁知道怎么样?

document.onclick=function(e){
    console.log(e.parentElement('.drop').id);       
}
Run Code Online (Sandbox Code Playgroud)

请仅用JavaScript提供解决方案 - 我不能使用jQuery.

Ale*_*ack 5

您可以使用classList父元素的属性.它有一个contains()对您有用的方法:

document.onclick=function(e){
    console.log( e.parentElement.classList.contains( 'drop' ) );       
}
Run Code Online (Sandbox Code Playgroud)

如果您的目标是Internet Explorer(IE <10),则可以手动解析类列表并在其中查找"drop":

document.onclick=function(e){
    console.log( e.parentElement.className.split(' ').indexOf('button-panel')!==-1 );
}
Run Code Online (Sandbox Code Playgroud)

split()将className解析为数组中的多个名称. indexOf()搜索数组中的元素,如果找不到,则返回-1