选择style属性的一个规则

时间:2013-08-04 10:22:57

标签: javascript jquery

请帮助解决问题

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

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

,有些属性

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

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

4 个答案:

答案 0 :(得分:2)

在此模式下,您可以在dom中循环每个图像,并仅使用css搜索元素图像:float:left 试试这个:

$('img').each(function(index){
   if(this.style.cssFloat =='left'){
     //your code here
   }
});

答案 1 :(得分:1)

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

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

然后,给自己想要选择的内容提供一个自定义类可能是一个更好的主意。

答案 2 :(得分:1)

您可以使用"attribute contains" selector*=):

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

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

另请注意,只有实际的img代码在其float: right属性中包含style时才会匹配。

答案 3 :(得分:-1)

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