0

假设我在一个页面上有 10 个 div,所以我想要更改具有 offset.left = 10 和 offset.top = 10 的 div 的颜色。

我不确定这个问题有多实用,但我正在寻找可以帮助我找到具有一定偏移量的 div 的 jquery 代码。

是的,这些 div 是动态创建的,因此请不要使用 html 提供任何 hack,因为它们在页面上的位置也是动态的。

谢谢

4

2 回答 2

2
$('div').each(function() {
  var offset = $(this).offset();
  if (offset.left == 10 && offset.top == 0) {
    // do your stuff
  }
});
于 2012-04-13T16:56:20.567 回答
2

就像你知道的那样,有一个 jQuery 实用程序完全可以用于这种事情,所以你不必每次都使用 .each 。

这不一定是更好的解决方案,而只是一个更“有意”的解决方案,因为这就是他们制作此功能的原因。它被称为.filter

像这样使用它:

$("div").filter(function(i) { 
    return $(this).offset().top == 10 && $(this).offset().left == 10 
});
// will render a jQuery object containing ONLY the divs that matach the return

参见示例

jsFiddle在这里

于 2012-04-13T17:13:05.667 回答