1

多分これは非常にばかげた質問かもしれませんが、私にはこれを理解できないように見えるので(Googleでも)、ばかげているとは言えません。

私はこのjqueryを持っています:

$.each(items, function (key, t) {
  $("#list").append(
    $("<li />")
     .append($("<img />")
       .attr("src", "path/to/" + t.Thumbnail)
       .addClass("thumb"))
       .append($("<span />")
         .html("<b>" + t.Title + "</b><br />" + t.Description)));
});

この後、親指をループしてスタイリングを行います(サイズと比率で、ここでは関係ありません)

$(".thumb").each(function () {
  console.log($(this));
});

コンソールには次のように表示されます。

[img.thumb, context: img.thumb, jquery: "1.9.0", constructor: function, init: function,     
selector: ""…]
0: img.thumb
context: img.thumb
length: 1
__proto__: Object[0]

この文脈は何ですか?$(this).width() を使用すると、エラーまたは 0 が返されます。既にページにある画像がある場合、それは...うまくいきますか?!

問題は、なぜこれが機能せず、他のページで機能するのかということです。

前もって感謝します

編集: Fiddle に例を追加: http://jsfiddle.net/nN9ce/

4

4 に答える 4

0

画像に幅と高さの属性を設定していません。この変更を試してください:

.attr("src", "http://www.logoquizantwoorden.nl/wp-content/uploads/2012/06/Logo-Quiz-uitleg.png")
.attr("height", "128")
.attr("width", "128")
.addClass("thumb")

フィドル: http://jsfiddle.net/sBSnS/

于 2013-06-17T18:52:59.550 に答える
-1

メソッドの問題についてはわかりませんが、プロパティを使用できます

width

だから、あなたはこれを持っているでしょう。

$(".thumb").each(function () {
    console.log(this.width);
});
于 2013-06-17T18:47:11.063 に答える
-1

代わりにこれを試してください:

$(".thumb").each(function (idx, thumb) {
  console.log($(thumb)); 
   console.log($(thumb).width());
});

更新されたフィドルは次のとおりです。

http://jsfiddle.net/nN9ce/2/

于 2013-06-17T18:55:05.043 に答える