找到某元素 的指定父元素
2018-03-26 15:56
260 查看
function findParentTdTh(el) {
//找到el元素的第一个td 或者th 标签的父元素 找到就返回这个父元素
return findParentByTagName(el, ['td','th'])
}
/**
* @param{Element} el
* @param{string|string[]}parentTags
* @returns{Element} 找到则返回元素,否则返回document
*/
function findParentByTagName(el, parentTags) {
let currentEl = el
let commonTags = Array.isArray(parentTags)
? parentTags.map(v=> v.toLocaleUpperCase())
: [parentTags.toLocaleUpperCase()]
while (currentEl.parentNode && !commonTags.includes(currentEl.tagName)) {
currentEl =currentEl.parentNode
}
return currentEl
}
//找到el元素的第一个td 或者th 标签的父元素 找到就返回这个父元素
return findParentByTagName(el, ['td','th'])
}
/**
* @param{Element} el
* @param{string|string[]}parentTags
* @returns{Element} 找到则返回元素,否则返回document
*/
function findParentByTagName(el, parentTags) {
let currentEl = el
let commonTags = Array.isArray(parentTags)
? parentTags.map(v=> v.toLocaleUpperCase())
: [parentTags.toLocaleUpperCase()]
while (currentEl.parentNode && !commonTags.includes(currentEl.tagName)) {
currentEl =currentEl.parentNode
}
return currentEl
}
相关文章推荐
- Java 找到数组中两个元素相加等于指定数的所有组合
- Search for a range, 在一个可能有重复元素的有序序列里找到指定元素的起始和结束位置
- [面试题]设计一个算法找到数组中两个元素相加等于指定数的所有组合
- [面试题]设计一个算法找到数组中两个元素相加等于指定数的所有组合
- 微软算法100题14 在排序数组中找到和为指定数的任意两个元素
- 设计一个算法找到数组中两个元素相加等于指定数的所有组合
- 找到当前点击 e 元素的指定 父类元素
- 在二叉树中找到指定的元素,如果有重复出现的元素,要求元素为深度最深的任何一个。
- WPF FindName()没找到指定名称的元素
- 但是,在通过移动数组的上升周期中找到指定元素
- [BD-EXAM]20091106在一棵一般的二叉树中找到指定的元素,如果有重复出现的元素,要求元素为深度最深的任何一个
- 【算法王道】找到数组中两个元素相加等于指定数
- 找到单向链表中间那个元素,如果有两个则取前面一个
- 为指定元素增加样式的js代码
- jquery 判断某元素是否具备指定的样式
- python将list连续元素和非连续元素分开转换为指定字符串
- JavaScript从数组中删除指定值元素的方法
- python实现找到第i小的元素
- SpringMVC 出现通配符的匹配很全面, 但无法找到元素 'context:component-scan' 的声明。
- 输出数组指定位置元素