0

所以就像我在标题中写的那样,我有多个具有相同类的元素,我获取该类并尝试检查该图像的子图像的宽度/高度/src。

我只设法获得了第一张图像的高度//宽度,但是我获得了所有图像的 src。

这是html:

<a class="test">
<img src="http://www.kitchenspro.com/files/Testimonials/Large/1502046700250312a71707.jpg">
</a>
<a class="test">
<img src="http://www.kitchenspro.com/files/Testimonials/Large/40183.9461166782.jpg">
</a>
<a class="test">
<img src="http://sphotos-a.xx.fbcdn.net/hphotos-ash4/s480x480/391362_365319466870994_1543740404_n.jpg">
</a>

这是jQuery

var imagesrc= "";
var imageheight = "";
var imagewidth = "";
var i=0;
$(".test > img").each(function() {
i++;
imagesrc = $(this).attr("src");
imageheight = $(this).width();
imagewidth = $(this).height();
document.write("<br>This is image's src: " + imagesrc + " This is img height: " + imageheight + " this is width: " + imagewidth + "<br>");            
});

如果我没有以正确的方式呈现代码,我深表歉意。

任何帮助将不胜感激。

先谢谢了。

4

2 回答 2

2

第一次调用document.write破坏了其余元素,这就是为什么你只从其中一个获取信息,使用 .append() 或其他东西来显示你的结果。

于 2012-07-17T00:13:48.393 回答
1

正是@Musa 所说的。

为了帮助清理您的代码并提供有关效率和本机 javascript 的课程,我提供了一个片段。

// Document Fragments are lightweight DOM containers. Append elements to this in loops and then attach the fragment to the actual DOM afterwards to increase efficiency. 
var frag = document.createDocumentFragment();

// i, or index, comes out of box in most loops.
$(".test img").each(function(i, el) {
 // Local variables specific to each image
 var imagesrc = $(this).attr("src");
 var imageheight = $(this).width();
 var imagewidth = $(this).height();
 var message = "This is image's src: " + imagesrc + " This is img height: " + imageheight + " this is width: " + imagewidth;

 // Appending the node to the frag with native js
 var p = document.createElement("p");
 p.innerText = message;
 frag.appendChild(p);

 // Viewing the console message for fun
 console.log(message);     
});

document.body.appendChild(frag);
于 2012-07-17T00:26:44.463 回答