jQuery或JavaScript获取靠近其他元素的元素
jQuery or JavaScript get element near other element
如何(使用jQuery或JavaScript…)
<div style="background-color:red;height:10px;width:10px;float:left;"></div>
<div style="background-color:red;height:10px;width:10px;float:left;margin-left:25px;"></div>
<br>
<div style="background-color:red;height:10px;width:10px;margin-left:15px;" id="2">
我知道哪个元素最接近id=2
吗?我需要这种类型的选择器,如果有任何帮助,我们将不胜感激。:)
请注意,我不介意为这些元素设置position:relative
或absolute
和left:(number)px
。
我需要一个能够在动态环境中工作的代码;你知道,当区块不断被创建,不断向前滚动并改变左侧位置时。我可以用.position()
吗?以某种方式
谢谢。:)
这是一个有趣的思维实验。。。
为了解决这个问题,您可能需要计算每个元素的offset
,并将这些坐标(top
和left
)与其他元素进行比较。
假设你想找到最接近compareEl
的元素,并且你有compareElTop
和compareElTop
,循环浏览屏幕上的所有元素(除了compareEl
),然后做这样的事情:
var topDiff = Math.abs(compareElTop-elements[x].offset().top);
leftDiff = Math.abs(compareElLeft-elements[x].offet.left);
与最低topDiff+leftDiff
的配对最接近。
这里有一个很好的jsFiddle供你玩!一切都很棒。
例如,如果您想获得与#2最接近的DOM元素:
<span>before</span>
<div style="background-color:red;height:10px;width:10px;margin-left:15px;" id="2"> </div>
<span>after</span>
Javascript:
$(function(){
var prevIt = $('#2').prev();
var nextIt = $('#2').next();
});
这是的演示
相关文章:
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 如何在不影响其他元素的情况下扩展DIV
- 单击其他元素时,我如何使用 jQuery 忽略更改事件
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 从其他元素上的单击事件访问image src属性
- 如何'剪切'DOM元素并将其显示在其他位置
- jQuery悬停动画只在其他类似元素中的一个元素上
- 基本D3.js:如何将具有其他属性的数据绑定到元素
- 单击其他元素或鼠标向上时隐藏输入框,但保留一次焦点
- 将一个元素放在具有相同z索引的其他元素前面
- 将href中的图像替换为其他元素中的图像
- JavaScript删除所有其他元素
- AngularJS:根据其他对象预先选择ng repeat中的select元素
- 为数组元素的属性赋值将设置所有其他类似元素的属性
- 如何使用其他自定义指令中的元素标记作为另一个自定义指令的模板
- stopPropagation是否还会阻止同一元素上的其他处理程序运行
- 如何在 *ngFor 列表中显示单击的元素,使用 Angular 2 隐藏其他元素
- 单击更改其他元素源
- 有没有办法将选择器返回到元素?是$(这个)还是其他方法
- 从异步调用返回数组,然后为数组的每个元素返回其他异步调用