如何使用javascript获取我们知道其偏移顶部的元素
假设我们知道一个特定元素的偏移顶部,我们想要得到位于该点的元素,那么有没有办法得到它呢 例如,我们有一个DOM元素,它的偏移量top=6000,我们希望找到位于该偏移量顶点的元素 例如:如何使用javascript获取我们知道其偏移顶部的元素,javascript,jquery,dom,dom-events,Javascript,Jquery,Dom,Dom Events,假设我们知道一个特定元素的偏移顶部,我们想要得到位于该点的元素,那么有没有办法得到它呢 例如,我们有一个DOM元素,它的偏移量top=6000,我们希望找到位于该偏移量顶点的元素 例如: <ul> <li>first list</li> <li>second list</li> <li>third list</li> </ul> <h3>Skill
<ul>
<li>first list</li>
<li>second list</li>
<li>third list</li>
</ul>
<h3>Skills:</h3>
<p>This are my skills. xyz, abc, pqr</p>
- 第一名单
- 第二份名单
- 第三名单
技能:
这是我的技能。xyz,abc,pqr
现在,让我们假设元素的抵消是10,我们希望整个元素的意思是,这是我的技能。xyz、abc、pqr
,仅使用其偏移量。如中所述,无法查询应用了特定样式的元素。您可以查询页面中的所有元素并循环它们,检查它们的样式,但这将导致大量开销
不过,如果您可以根据父元素、类型等内容缩小可能的元素范围,这可能是可行的。我的问题似乎是寻找一个特定点的元素。如果是这样,你可以使用
设x=10;
设y=140;
设el=document.elementFromPoint(x,y);
el.style.background=“红色”;
//或$(el.css(“背景”、“红色”)代码>
- 第一名单
- 第二份名单
- 第三名单
技能:
这是我的技能。xyz、abc、pqr
有时,此代码没有搜索该页面中的所有元素,我不知道这背后的原因,但它与元素不匹配。有什么解决办法吗?例如:在上面的示例中,我想获取p
元素,但无法获取该元素哪个代码?document.elementFromPoint()
始终只返回最顶层的元素。findChildrenWithOffset()
函数应返回指定位置内的所有元素。请注意,$.last()
调用将删除除最上面的元素之外的所有元素。如果删除此行,则所有图元都将位于该位置。我修改了上面的例子来指出这一点。如果你没有得到元素,你的坐标可能是错误的。对于这两个函数,元素必须从坐标的上方开始,在坐标的下方结束。我正在使用findChildrenWithOffset(parent,offset\u top)
函数,在这里我没有得到所有元素我得到了它,它完成了,我使用document
而不是jquery,它成功了,感谢您的帮助