0

请帮助解决问题

在页面上,有几个img。有些有属性

style="line-height: 1.538em; float: right;"

, 有些有属性

style="line-height: 1.538em; float: left;"

我想 js 或 jquery 只选择那些 img,其 float: right;

4

4 回答 4

2

在这种模式下,你在你的 dom 中循环每个图像并使用 css 搜索元素图像:float:left 试试这个:

$('img').each(function(index){
   if(this.style.cssFloat =='left'){
     //your code here
   }
});
于 2013-08-04T10:25:55.160 回答
1

有点棘手,但我会尝试类似:

$('img').each(function() {
  if ($(this).css('float') === "left") {
    //my stuff
  }
});

再说一次,为您要选择的内容提供自定义类可能是一个更好的主意。

于 2013-08-04T10:26:02.120 回答
1

您可以使用“属性包含”选择器( *=):

var imgs = $('img[style*="float: right"], img[style*="float:right"]');

(请注意,我是否允许有一个空格。)但它看起来很微妙并且可能很慢(如果你这样做一次并不重要,如果你经常这样做可能很重要)。相反,我可能会为相关图像添加一个类。但是,在现代浏览器上,这将比each其他答案建议的循环更快,因为可以在浏览器的选择器引擎中而不是在 JavaScript 层中完成工作。

img另请注意,仅当实际标签float: right在其style属性中时才会匹配。

于 2013-08-04T10:26:03.433 回答
-1

尝试$('img[style*="float:left"]')

于 2013-08-04T10:30:18.343 回答