我希望通过其偏移量找到DOM元素id /值。可能是图片准确解释。我有一个指定价值范围的div。和更改值但按范围div的按钮是固定的。现在我想在按钮事件后找到范围值。
this my html code.
<div ng-app='myApp' ng-controller="Slider" id="slider">
<li class="year ruler" ng-attr-id="{{y.year}}" ng-repeat="y in years" style="top: {{y.top}}px">{{y.year}}<label class="index"> -</label></li>
<div id="ranges" class="ranges"></div>
<div class="panel">
<button ng-click="up()">up</button>
<button ng-click="down()">down</button><br>
<button ng-click="zoomOut()">+</button>
<button ng-click="zoomIn()">-</button>
</div>
我使用此代码查找值但警告未定义
var dom= $(document.body).find('[offsetTop = '+80+']');
alert($(dom).attr('id'));
答案 0 :(得分:4)
您可以使用jQuery的过滤功能根据偏移
过滤元素function getElementByTopOffset(selector, offset){
return $(selector).filter(function( index, elem) {
return $(elem).offset().top == offset;
});
}
此外,如果你想在完全香草中做这里可能是一个解决方案:
function getElementByTopOffset(selector, offset){
return [].filter.call(document.querySelectorAll(selector), function(elem) {
return elem.offsetTop == offset
});
}