• ベストアンサー

jQuery 複数のfind()

ID hogeの中のimgとiframeのsrcを取得したいです。 imgだけなら、こう書きます。 $('#hoge').find('img').each(function(){ alert($(this).attr('src'); }); imgとiframeの両方としたい場合、どうしたら良いでしょうか? いっぺんに取れない仕様の場合、find('img')とfind('iframe')で取得したオブジェクトを マージする方法でもよいです。 以上、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kuzumiHK
  • ベストアンサー率72% (132/183)
回答No.2

jQueryの場合、cssセレクタの指定方法と同じですので、 img,iframeと2つ指定すれば動きます。 $('#hoge').find('img,iframe').each(function(){ alert($(this).attr('src')); });

kingfruits
質問者

お礼

kuzumiHKさん、ご回答ありがとうございました。 できました!

その他の回答 (1)

  • tracer
  • ベストアンサー率41% (255/621)
回答No.1

私もその方法を知りたいです! その方法がわからなかったので、私の場合は、自分のルールでセレクタを拡張して要素を取得してます。 例の場合は、imgとiframeにマッチするセレクタを作ってみます。 JS------------------- //セレクタを拡張 $.extend($.expr[":"],{ img_iframe: function(a){ var tagname=$(a).get(0).tagName; return (tagname=="IMG"|tagname=="IFRAME"); } }); //拡張したセレクタを使用 $("#hoge").find(":img_iframe").each(function(){ console.log($(this).attr("src")); });

kingfruits
質問者

お礼

tracerさん、ご回答ありがとうございました。 No2さんの回答でできました。 どうも。

関連するQ&A

専門家に質問してみよう