如何检查函数以查看父项是否存在

时间:2017-08-22 22:32:07

标签: javascript

使用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'); }

2 个答案:

答案 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')) {}
jQuery(最佳jQuery性能):

if ($(element).parent().hasClass('nameOfClass')) {}

jQuery(可用于每个选择器,而不仅仅是类,性能更差):

if ($(element).parent('.nameOfClass').length) {}