就像我在标题中写的那样,我有多个具有相同类的元素我获取该类并尝试检查该图像的子图像的宽度/高度/ 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>");
});
如果我没有以正确的方式呈现代码,我道歉。
任何帮助都将受到高度赞赏。
先谢谢。
答案 0 :(得分:2)
第一次调用document.write
会破坏其余元素,这就是为什么你只能从其中一个元素中获取信息,使用.append()或其他东西来显示结果。
答案 1 :(得分: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);