我正在尝试创建一个包含用户在内容可编辑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()或有更好的方法来做到这一点?
和自己怎么样?
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
| 归档时间: |
|
| 查看次数: |
967 次 |
| 最近记录: |