如何使用id的each()函数?

时间:2015-07-17 06:59:31

标签: javascript jquery html

我输入了[type =" file"]有多个选项和' div'当我选择如下图像时创建。

<div id="filenameList" style="width:400px">
    <div class="not yet" style="margin : 30px"; position : relative>
        <img src="data:image/jpeg;base64,.." width="100%" id="tmp_screenshots">
    </div>
    <div class="not yet" style="margin : 30px"; position : relative>
        <img src="data:image/jpeg;base64,.." width="100%" id="tmp_screenshots">
    </div>
    <div class="not yet" style="margin : 30px"; position : relative>
        <img src="data:image/jpeg;base64,.." width="100%" id="tmp_screenshots">
    </div>
</div>

我选择了3张图片和&#39; divs&#39;是像我上面说的那样自动创建的。我想检查3张图片的大小。

这是我想的代码。

if($('#tmp_screenshots').width() == 340 && $('#tmp_screenshots').height() == 340) { 
    alert_success();
    return true;
}else {
    alert_screenshots_size_err();
    return false;
}

然而,此代码只检查了图像的唯一顶部。我知道原因,但我如何解决这个问题来检查所有具有相同ID的图像。

("#filenameList"," #tmp_screenshots").each(function() {
     if ($(this).width() !== 340 && $(this).height() !== 340) {
         alert("false");
     }else {
         alert("true");
     }
});

我知道这段代码不起作用。我该如何正确地解决这个问题。 有谁知道这个?或者有更好的主意?

2 个答案:

答案 0 :(得分:1)

id应始终是唯一的。

您可以使用元素选择器迭代图像。

$("img", "#filenameList").each(function() {
    if ($(this).width() !== 340 && $(this).height() !== 340) {
        alert("false");
    } else {
        alert("true");
    }
});

或使用相同的class代替id

<div id="filenameList" style="width:400px">
    <div class="not yet" style="margin : 30px" ; position : relative>
        <img src="data:image/jpeg;base64,.." width="100%" class="tmp_screenshots">
    </div>
    <div class="not yet" style="margin : 30px" ; position : relative>
        <img src="data:image/jpeg;base64,.." width="100%" class="tmp_screenshots">
    </div>
    <div class="not yet" style="margin : 30px" ; position : relative>
        <img src="data:image/jpeg;base64,.." width="100%" class="tmp_screenshots">
    </div>
</div>

使用Javascript:

$(".tmp_screenshots", "#filenameList").each(function() {
    if ($(this).width() !== 340 && $(this).height() !== 340) {
        alert("false");
    } else {
        alert("true");
    }
});

答案 1 :(得分:-1)

Jquery Selector:&#34;#your id main div#your id img

有没有你的解决方案:

$("#filenameList #tmp_screenshots").each(function(index,element) {
     if ($(this).width() !== 340 && $(this).height() !== 340) {
         alert("false");
     }else {
         alert("true");
     }
   });