如何检查jquery中的元素[重复]

Posted

技术标签:

【中文标题】如何检查jquery中的元素[重复]【英文标题】:How to check for element in jquery [duplicate] 【发布时间】:2017-04-14 00:10:16 【问题描述】:

只有当 DOM 中的特定元素(img 标签)存在时,我才必须运行一些代码,如果不存在,那么我想运行一些其他代码。以下是我目前所拥有的。

原文代码:

 ed.on('blur', function (e) 
        var iFrame = $('iframe');

        $("img[src*='blob']", iFrame.contents()).each(function (i) 
            var originalUrl = $(this).prop('src');
            var that = $(this);
            // SOME CODE

           );
        );

下面是我想要的

ed.on('blur', function (e) 
    var iFrame = $('iframe');
******If ( img[src*='blob' exists in the iFrame )********
    $("img[src*='blob']", iFrame.contents()).each(function (i) 
        var originalUrl = $(this).prop('src');
        var that = $(this);
        // SOME CODE
       );
       
    else
    
       // Do something else
    
);

所以基本上如果我在 iframe 中找不到$("img[src*='blob']",我想运行一些其他代码。请指导我。

【问题讨论】:

所以选择它并检查长度.... 为什么是骗子?? OP 使用内容作为上下文选择器.... 骗子应该是如何检查元素是否存在... @epascarello:你什么意思?我很迷惑。所以下面的答案不适用于我的代码? 【参考方案1】:

所以不要只做 each,将它存储到一个变量中并检查长度。

var imgs = $("img[src*='blob']", iFrame.contents());
//var imgs = iFrame.contents().find("img[src*='blob']"); //how I would write it
if (imgs.length) 
    imgs.each(...)
 else 
    ...

【讨论】:

在所有答案中,只有你的答案有效。谢谢你,先生。非常感谢您的帮助。【参考方案2】:

您需要检查 jQuery 对象 (jQuery.length) 中的元素数量:

if($('img[src*="blob"]').length > 0) 
  // your code

【讨论】:

这段代码将如何访问 iFrame 内容?【参考方案3】:
$("img[src*='blob']").length > 0

【讨论】:

以上是关于如何检查jquery中的元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

jQuery hasAttr 检查元素上是不是有属性[重复]

如何比较jquery中的两个元素[重复]

如何使用jquery检查一个元素是不是隐藏[重复]

检查使用jquery选择文本框中的值[重复]

jQuery检查元素是不是存在[重复]

Jquery检查元素在视口中是不是可见[重复]