【问题标题】:How to check for element in jquery [duplicate]如何检查jquery中的元素[重复]
【发布时间】: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:你什么意思?我很迷惑。所以下面的答案不适用于我的代码?

标签: javascript jquery


【解决方案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

【讨论】:

    猜你喜欢
    • 2017-06-19
    • 2015-07-28
    • 2011-06-03
    • 2018-05-17
    • 2014-02-17
    • 2014-09-20
    • 1970-01-01
    • 2010-09-14
    相关资源
    最近更新 更多