javascript - 如何在没有图像和通过属性的情况下在jquery中计算li

标签 javascript jquery html

我有这个代码。 .

我有 3 个 li 。 .我如何计算没有图像和 div 样式颜色为#c9c9c9 的li

在我的例子中,我有 1 个没有图像的 li,div 样式颜色是 #c9c9c9

所以输出应该是1

我不知道这是否可能。

这是我的代码:

<ul id="room_1">
        <li>
            <div class="wrap participantlist wrap_body" style="color:#000000">
                <img src="images/leader.png">
            </div>
        </li>
        <li>
            <div class="wrap participantlist wrap_body" style="color:#c9c9c9">
            </div>
         </li>
         <li>
            <div class="wrap participantlist wrap_body" style="color:#000000">
            </div>
         </li>
    </ul>

这是我的js:

alert($("ul li .wrap_body").length);

最佳答案

检查颜色样式是一个问题,要获得没有图像的 li,您可以使用 nothas()喜欢

var $liswoimg = $('li').not(':has(img)');
snippet.log($liswoimg.length)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

<ul id="room_1">
  <li>
    <div class="wrap participantlist wrap_body" style="color:#000000">
      <img src="images/leader.png">
    </div>
  </li>
  <li>
    <div class="wrap participantlist wrap_body" style="color:#c9c9c9"></div>
  </li>
  <li>
    <div class="wrap participantlist wrap_body" style="color:#000000"></div>
  </li>
</ul>

但是如果可以使用style属性值的话

var $liswoimg = $('li:has(div[style="color:#c9c9c9"])').not(':has(img)');
snippet.log($liswoimg.length)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

<ul id="room_1">
  <li>
    <div class="wrap participantlist wrap_body" style="color:#000000">
      <img src="images/leader.png">
    </div>
  </li>
  <li>
    <div class="wrap participantlist wrap_body" style="color:#c9c9c9"></div>
  </li>
  <li>
    <div class="wrap participantlist wrap_body" style="color:#000000"></div>
  </li>
</ul>

关于javascript - 如何在没有图像和通过属性的情况下在jquery中计算li,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32643438/

相关文章:

c# - 将一些 JavaScript 转换为 JQuery

javascript - 如何构建匹配破折号/字母数字字符和不连续的 '.' 点字符的自定义正则表达式?

javascript - jQuery - 滚动到具有动态类的元素

javascript - 在输入旁边对齐 div

php - 跟踪访问者最后查看的项目

html - 表格不滚动

javascript - 当我尝试循环和停止函数:时,代码中循环之间的区别

javascript - 彩色谷歌地图

javascript - html 视频标签的 JS currentTime 在 chrome 上不起作用

html - 使用 Angular 动态使用 XY 坐标将图像放在另一个图像上