2015-07-17 2 views
-2

У меня есть вход [type = "file"], который имеет несколько опций, и 'div' создается, когда я выбираю изображения, как показано ниже.Как использовать функцию each() с идентификатором?

<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 изображения, и «divs» создаются автоматически, как указано выше. Я хочу проверить размер 3 изображений.

Это мой код, который я думал.

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

Однако этот код только что выслал только верхнюю часть изображения. Я знаю причину, почему, но как я могу исправить это, чтобы проверить все изображения с одинаковым идентификатором.

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

Я знаю, что этот код не работает. Как я могу исправить эту работу должным образом. Кто-нибудь знает об этом? или иметь лучшую идею?

+5

Это не работает, потому что с дублирующимися атрибутами 'id' является недопустимым HTML. Они должны быть уникальными в документе. –

+3

«Повторный идентификатор в HTML» должен быть закрытым вариантом голосования –

ответ

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

Jquery Selector: «# ваш идентификатор основной div # ваш идентификатор img

Есть ли ваше решение:

$("#filenameList #tmp_screenshots").each(function(index,element) { 
    if ($(this).width() !== 340 && $(this).height() !== 340) { 
     alert("false"); 
    }else { 
     alert("true"); 
    } 
    }); 
Смежные вопросы