0

私はJQueryのバックグラウンドにあまり詳しくないので、単純なものを機能させるのは少し難しいです。

私のHTML要素は次のとおりです。

<div id="content">
    <div class="box mosaic-block bar">
        <img src="images/products-mansonary/img1.jpg" />
        <div class="overlay_brand"></div>
    </div>
    <div class="box">
        <img src="images/products-mansonary/img2.jpg" />
    </div>
    <div class="box">
        <img src="images/products-mansonary/img3.jpg" />
    </div>
</div>

このdivをidコンテンツでループし、画像の高さと幅を取得したいと思います。

  $(document).ready(function() {
    $('#content').children('.box').each(function() {
        console.log($(this).html());
        var img_height = $(this).next("img").height();
        var img_width = $(this).next("img").width();
        //console.log($(this).children().width());
        //console.log(img_height + "    " + img_width)
        console.log($($(this).next('img').html()));
        return false;
    });

    //$(".overlay_brand")
});

とりあえず、ループを1回だけ実行するためにfalseを返します。

私が得ると言うときconsole.log($(this).html())

<img src="http://localhost:5643/Template/images/products-mansonary/img1.jpg"><div class="overlay_brand"></div>

私は愚かなことをしていないことを望みます。

4

4 に答える 4

1

next()の代わりにfind()を試してください

$('#content').children('.box').each(function() {
       console.log($(this).html());
       var img_height = $(this).find("img").height();
       var img_width = $(this).find("img").width();

       alert(img_height + "    " + img_width)


    });

デモ

于 2012-12-07T09:37:57.103 に答える
0
Remove the return false from the function

$(document).ready(function() {
$('#content').children('.box').each(function() {
    var img_height = $(this).find("img").height();
    var img_width = $(this).find("img").width();
    console.log("Image height "+img_height + " image width= " + img_width);    });
});
于 2012-12-07T09:36:03.890 に答える
0

(その特定のクラスの) div タグ内で img を探している場合は、find (子内を検索する) を使用し、next (兄弟内を検索する) を使用しません。

var img_height = $(this).find("img").height();
var img_width = $(this).find("img").width();
//console.log($(this).children().width());
//console.log(img_height + "    " + img_width)
console.log($($(this).find('img').html()));
于 2012-12-07T09:39:39.050 に答える
0

あなたが得て'null'いる理由'img'は、あなたの子供が'this'する必要があるからです$(this).children("img").width();

于 2012-12-07T09:40:14.277 に答える