获取元素的所有父元素,包括元素本身

Bla*_*umb 2 javascript jquery

我正在尝试创建一个包含用户在内容可编辑div中单击的所有元素的数组.我使用以下代码.

 var els = [];
 var target = event.target;
 while (target){ //Create an array of parent elements
    els.push(target); //Push target to the back of the array
    target = target.parentNode; 
}
Run Code Online (Sandbox Code Playgroud)

但我想知道我是否可以使用jQuery将其减少到一行.jQuery .parents()几乎让我在那里,但它不包括第一个event.target

var els = $(event.target).parents();
Run Code Online (Sandbox Code Playgroud)

有没有办法包含元素本身.parents()或有更好的方法来做到这一点?

Tre*_*bob 5

和自己怎么

var els = $(event.target).parents().andSelf();
Run Code Online (Sandbox Code Playgroud)

我会得到你,曾祖父母,祖父母,父母,自我.

如果你想要:self,parent,grandparent,great-grandparent,请尝试使用以下方法扩展Jquery:

$.fn.reverse = [].reverse;
Run Code Online (Sandbox Code Playgroud)

然后做:

var els = `$(event.target).parents().andSelf().reverse();
Run Code Online (Sandbox Code Playgroud)

示例:jsFiddle