javascript - jQuery 检测不存在的元素

标签 javascript jquery html

我有一个函数可以检查 img 标签是否在具有“colorbox”类的图形元素内部,如果是,则为某些元素添加一些额外的样式。然而,即使颜色框图中没有图像,该功能仍然运行,我不知道为什么。

我的 jQuery 看起来像这样

jQuery(document).ready(function($){
  if ($(".colorbox").has("img")) {
     ~code here~
  }
}

这是 colorbox 图,显然没有 img 元素...

<figure class="colorbox">
  <ficaption>
    <h2></h2>
    <p></p>
    <p></p>
  </figcaption>
</figure>

那么为什么 jQuery 会选择一个不存在的元素呢?

最佳答案

我更喜欢find 函数

var $img = $(".colorbox").find("img");

if ($img.length) { //exisst

}

关于javascript - jQuery 检测不存在的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39007117/

相关文章:

javascript - 使用 chrome.downloads 从通过 chrome.webRequest 找到的 URL 下载文件?

javascript - 如何通过 Javascript Id 选择元素范围

javascript - Knockout JS 中的 validateObservable - undefined 不是函数

javascript - jQuery,只触发事件,如果没有触发其他事件

javascript - 使用 JS 中的 Github API 拉出所有问题(多页)

javascript - 如何禁用对隐藏控件的验证

javascript - 为什么 (thisIsInTheArray in array) 返回 false?

jquery - 如何启用 jQuery 内联 datePicker 的过去日期?

android - android 是否支持使用 HTML5 视频标签的 RTSP 流?

html - JQuery Mobile 使用照片滑动按钮自动换行