javascript - 使用 jquery 定位内联样式不起作用

标签 javascript jquery html css

这是输出的 HTML:

<ol id="aw-ln-filter-1-options" style="overflow: hidden; height: 250px;">
  <li style="padding-left:0px">
  </li>
  <li style="padding-left:10px">
  </li>
  <li style="padding-left:20px">
  </li>
  <li style="padding-left:10px">
  </li>
  <li style="padding-left:10px">
  </li>
</ol>

我的 jQuery:

jQuery(function ($) {

if ($('#aw-ln-filter-1-options li').css('padding-left') == '20px')
    {
       $(body).hide();
    }
});

我只是用 body 隐藏作为测试。我在这里做错了什么?

最佳答案

您不能将 css() 函数应用于 jQuery 元素的集合。您必须迭代它们并单独测试每一个:

$('#aw-ln-filter-1-options li').each(
    function(i,e) {
      if ($(e).css('padding-left') == "20px") {
        $(e).css('background', 'red');
      }
    }
);

请参阅此处示例:https://jsbin.com/hekokeqabu/edit?html,js,output

也许将 jQuery 的 filter() 函数与 attribute Contains Selector [name*=”value”] 一起使用选择器也可以,但我发现过去很难做到这一点。

但是,由于不了解您的用例,我建议不要使用内联样式作为任何选择操作的标记。一次重新设计将打破一切。使用 CSS 类。

关于javascript - 使用 jquery 定位内联样式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35319947/

相关文章:

javascript - 如何将点击事件收集的数据添加到表单中?

Jquery 添加/删除复选框上的类

jquery - 手机菜单打不开

javascript - jQuery 'mmenu' 关闭时的回调事件

html - header 容器大于横幅图像

javascript - 用 jQuery 或 Javascript 替换 iFrame

javascript - 从代码隐藏中显示或隐藏 DIV

javascript - 具有内联函数的 Angular ng-click

javascript - 一个接一个地执行 Promise(或 Deferreds),并且能够随时中断

javascript - 无法将文字居中放置在图片上