我正在使用最接近的方法在div中查找属性:
.closest($('div[my-attribute]'));
该属性也可以存在于li元素中:
.closest($('li[my-attribute]'));
如果在div中找不到属性,在'li'中查找属性的优雅方法是什么?
类似的东西:
var closest = myDiv.closest($('div[my-attribute]'));
if(closest == null){
closest = myDiv.closest($('li[my-attribute]'));
}
答案 0 :(得分:1)
这将返回包含属性“my-attribute”的最近父母,无论天气如何,元素都是div,li(或其他任何东西)。
var closest = myDiv.closest('[my-attribute]');
答案 1 :(得分:1)
.closest('div[my-attribute], li[my-attribute]');
应该有用。
请注意.closest
遍历dom树,因此它只会检查基本选择器的祖先。
I.E:如果你有这样的结构:div > ul > (li > a, li > a, li > a)
然后$("ul").closest("li")
将一无所获。
答案 2 :(得分:0)
var closest = myDiv.closest($('div[my-attribute]')) || myDiv.closest($('li[my-attribute]'));
答案 3 :(得分:0)
您可以用逗号分隔jQuery中的多个选择器。
答案 4 :(得分:0)