.each()方法只适用于IE中的第一个元素
.each() method only applies to first element in IE
我有一个像这样的jQuery:
$('#corner .photo img').each(function() {
var $img = $(this);
var h = $img.height();
var w = $img.width();
$img.css('margin-top', +h / -2 + "px").css('margin-left',+ w/ -2 + "px");
});
它可以在所有浏览器中工作,除了IE 7和8。在这些浏览器中,它只将新属性应用于#corner的第一个元素(即第一个.photo img)。
如果我删除#corner,它适用于所有的实例"。在里面拍照。但是,我无法删除id #角,因为HTML的其他部分正在使用"。我不希望这个jQuery脚本应用到所有。我只想把它应用在#corner内。
有办法解决这个问题吗?
编辑:我的坏,显然有多个div与相同的名称在文档中,这是导致IE的问题。
你可以试试
$('#corner').find('.photo img').each(...
顺便说一下,IE不喜欢多个项目具有相同的ID。如果你用这种方式使用多个id="corner"
项,他们将其更改为一个类,你应该很好。
相关文章:
- 使用数据上的角度更改设置集合的第一个元素的动画
- 在javascript数组中推送多个值并获取第一个元素
- Angular js将只显示ng repeat中的第一个元素
- 使用+=运算符未定义对象中的第一个元素
- javascript window.addEventListener,覆盖了第一个元素的配置
- 如何访问 JSON 对象数组的第一个元素
- 第一个元素和最后一个元素之间的连续循环
- 要插入二叉树的第一个元素,请将其放在左边还是右边
- 向下滚动时覆盖页面的第一个元素或块
- 数组未发送所有元素,只获取第一个元素
- 创建每个数组的第一个元素的数组
- 只显示ng重复的第一个元素
- CKEditor:以小部件作为第一个元素,选择所有在Chrome中不工作的
- 从Web视图上显示的页面部分获取第一个元素
- 有没有更好的方法来访问用JQuery选择器选择的第一个元素
- JQuery验证仅适用于提交的表单中的第一个元素.[打算验证所有内容]
- jQuery导航菜单没有't更新第一个元素
- jQuery如何删除第一个元素前的逗号
- 如何获取数组第一个元素的范围
- 使用 Dart 时,我正在创建一个点击事件的 DOM 类.它只拾取第一个元素,我如何让它在所有元素上发射