0

.attr()jQueryプロパティを使用して、明示的に定義された高さのiframeまたはimgの高さを取得しようとしています。

jQuery

var scrollerHeight = $('.caroufredsel_wrapper > ul > li').find('img','iframe').attr('height');

HTML

<div class="caroufredsel_wrapper">
<ul>
    <li><iframe src="movie.swf" width="750" height="422"></iframe></li>
</ul>
</div>

今書かれているように、私は値として「未定義」を取得しています。これを解決する方法について何かアイデアはありますか?

JSFiddleはこちら:http ://jsfiddle.net/LmMTL/1/

4

6 に答える 6

6

.find()->セレクターには引数を1つだけ指定する必要があります'img, iframe'

var scrollerHeight = $('.caroufredsel_wrapper > ul > li').find('img, iframe').attr('height');

http://jsfiddle.net/LmMTL/2/

于 2012-04-06T16:51:14.490 に答える
5

これは間違っています:

.find('img','iframe')

find()追加のパラメータを受け入れません。私はあなたがこれを意味すると思います:

.find('img, iframe')
于 2012-04-06T16:52:28.863 に答える
0

これは間違っています

    .find('img','iframe')

これを試してみてください

   $(document).ready(function() {


  var scrollerHeight = $('.caroufredsel_wrapper > ul > li').find('iframe').attr('height');
  alert(scrollerHeight);

 });
于 2012-04-06T18:17:56.920 に答える
0

いつでもiframeにID属性を与えることができます。私はあなたのjsFiddleでそれをテストし、結果として422を得ました。

于 2012-04-06T16:54:32.577 に答える
0

フレームにIDを設定して、直接アクセスしてみませんか。

var scrollerHeight = $('#mframe').attr('height');

http://jsfiddle.net/LmMTL/7/

于 2012-04-06T16:56:22.093 に答える
0

find()メソッドはSelectorコンテキストを使用するため、2番目のパラメーターを代替コンテキストとして扱います。代替コンテキストは通常​​、セレクターを別のDOMに転送するために使用されます。

最初のパラメーターで複数の要素を使用するように検索セレクターを変更すると、機能します。

高さ=$('。caroufredsel_wrapper>ul> li')。find('img、iframe')。attr('height');

また、最初のフィルター/メソッドを使用して、1つの結果のみが返されるようにすることをお勧めします。

$('。caroufredsel_wrapper>ul> li')。find('iframe、img')。first()。attr('height');

ここで私のテストの要点を参照してください:https ://gist.github.com/2321394

于 2012-04-06T17:08:30.427 に答える