2016-11-29 16 views
0

DOMの特定の要素(imgタグ)が存在する場合にのみコードを実行する必要があります。そうでない場合は、他のコードを実行します。以下は私が今まで持っているものです。jqueryで要素をチェックする方法

オリジナルコード:以下

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']"を見つけることができない場合は何をしたいです。私を案内してください。

+1

ですので、それを選択して長さを確認してください.... – epascarello

+1

詐欺はなぜですか? OPはコンテキストセレクタとしてコンテンツを使用しています....デュープは要素が存在するかどうかをチェックする方法です。 – epascarello

+0

@epascarello:どういう意味ですか?私は混乱しています。だから以下の答えは私のコードではうまくいかないでしょうか? – Unbreakable

答えて

1

ので、変数にそれを格納し、長さを確認してください。

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 { 
    ... 
} 
+0

すべての回答のうち、あなたの回答のみが働いていました。ありがとうございます。あなたの助けが高く評価されます。 – Unbreakable

0
$("img[src*='blob']").length > 0 
1

あなたはjQueryオブジェクト(jQuery.length)内の要素の数を確認することをお勧めします:だけではなく、それぞれを行うの

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

このコードはどのようにiFrameコンテンツにアクセスしますか? –

関連する問題