使用JS函数:我如何检查父元素是否存在以及它是否打印出“未找到”。另外,我如何检查具有某个className的父元素?
var findParentByClassName = function(element, targetClass) {
if (element) {
var currentParent = element.parentElement;
while (currentParent.className !== targetClass && currentParent.className !== null) {
currentParent = currentParent.parentElement;
} // closes loop
return currentParent;
} // closes if statement
};
我想写这个:
if(element.parentElement !== targetClass) {
console.log('Parent not found');
}
答案 0 :(得分:0)
这可以是nearest()和get()Jquery函数的示例。当然,DOM中的所有内容都有父,所以我们会检查一些特殊的东西,一个class =“myclass”的表单:
var element = $(yourElement).closest('form.myclass');
if(element.get(0)){
//you got your element
}
else{
console.log('not found');
}
方法get([index])是必需的,选择器不会返回空。
答案 1 :(得分:0)
如果您想检查直接父母是否有某个班级,您可以采取以下几种方式:
纯JavaScript(最佳性能):
if (element.parentElement.classList.contains('nameOfClass')) {}
if ($(element).parent().hasClass('nameOfClass')) {}
jQuery(可用于每个选择器,而不仅仅是类,性能更差):
if ($(element).parent('.nameOfClass').length) {}