gpt4 book ai didi

javascript - 在 jQuery 中获取所有像我这样的元素?

转载 作者:搜寻专家 更新时间:2023-11-01 05:24:23 27 4
gpt4 key购买 nike

假设我有这个结构(没有类,没有 ID):-这是一个位置查找问题

d[0,1,2] 是纯 divs 。没有类(class)没有 id。

div (d0) 包装一个重复结构,如:

enter image description here

假设我有 $(this) 作为第一个 d1

有没有什么遍历函数、方法、方法可以得到另外2个d1? (或所有 d1 的。没关系..)

我会用文字来赞美它:

I'm $(this)=d1. I have a parent ( which is d2 , can be more ....this is just for my sample) which has a parent (d3 ) and hence, I have 2 more exact elements like me.

我怎样才能得到它们? JSBIN

编辑

也许我不清楚,但我不必知道结构。我只有 $(this) 并且它应该自己找到相对于 d0 的其他双胞胎(与其位置相同)

所以它应该是这样的:

function getLikeMyself(objWhichIsThis , contextDivElement)
{
}

execute : getLikeMyself(theDivWhishIsThis, divElemtnWhichIs_d0)

最佳答案

这是我的新尝试,一个 .me() 方法,它将返回当前元素的选择器,直到 body

$.fn.me = function(){
return this.first().parentsUntil("body").andSelf().map(function(){
return this.tagName;
}).get().join(">");
};

用法:

var selector = $(this).me();
var $twins = $(selector);

See it here.


接受根元素作为参数的替代版本:

$.fn.me = function(root){
return this.first().parentsUntil(root).andSelf().map(function(){
return this.tagName;
}).get().join(">");
};

用法:

var selector = $(this).me("#root");
var $twins = $(selector, "#root");

See it here.


第三个版本将最顶层元素的后代元素的相对位置保持在根元素之下。例如,它将返回 DIV>DIV:nth-child(1)>SPAN:nth-child(2) 而不是通用的 DIV>DIV>SPAN 选择器。

$.fn.me = function(root){
return this.first().parentsUntil(root).andSelf().map(function(){
var eq = i ? ":nth-child(" + ($(this).index() + 1) + ")" : "";
return this.tagName + eq;
}).get().join(">");
};

用法:

var selector = $(this).me("#root");
var $twins = $(selector, "#root");

关于javascript - 在 jQuery 中获取所有像我这样的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15051343/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com