使用JQuery,如何在IE中使用style属性定位元素?

Kei*_*gan 0 css jquery internet-explorer target jquery-selectors

使用JQuery,我的目标是:

<li style="margin-left: 15px;">blah<li>
Run Code Online (Sandbox Code Playgroud)

使用此代码:

$(".block-category-navigation li[style='margin-left: 15px;']").addClass('sub-menu'); 
Run Code Online (Sandbox Code Playgroud)

它在firefox中运行良好,但在IE中根本不起作用.IE会忽略样式选择器吗?无论如何,如果是这样

McH*_*bie 5

在IE8的控制台中检查后,我发现它正在将'margin-left'变成'MARGIN-LEFT'.

在IE中,此选择器将起作用:

$(".block-category-navigation li[style='MARGIN-LEFT: 15px']").addClass('sub-menu'); 
Run Code Online (Sandbox Code Playgroud)

您可以同时使用大写和小写选择器,也可以使用循环来检查样式属性,如下所示:

$('.block-category-navigation li[style]').each(function() {
    $this = $(this);
    if ($this.attr('style').match(/margin-left: 15px/i)) {
        $this.addClass('sub-menu');
    }
});
Run Code Online (Sandbox Code Playgroud)

UPDATE

由于我不想给你不起作用的代码,我在这里设置了这个工作示例:http://jsfiddle.net/YB7uV/6/