У меня есть ситуация, когда
<label id="studentName" class="firstClass> </label>
<label id="studentName" class="secondClass> </label>
<label id="registerNumber" class="firstClass> </label>
<label id="registerNumber" class="secondClass> </label>
Теперь я должен однозначно идентифицировать каждый тег и заменить innerHTML некоторым значением, используя класс и id.
Как я могу достичь этого со стороны javascript/ios?
Вы хотите переключить идентификаторы и классы. У вас есть 2 одинаковых идентификатора. Но у вас могут быть классы с одинаковым именем.
<label id="firststudentName" class="studentName> </label>
<label id="secondstudentName" class="studentName> </label>
<label id="firstregisterNumber" class="registerNumber> </label>
<label id="secondregisterNumber" class="registerNumber> </label>
попробуйте это с помощью jquery:
function checkUnique(className){
var count = 0;
var ids = '';
$('.' + className).each(function(i){
if(ids.indexOf($(this).attr('id')) != -1){
$(this).attr('id',$(this).attr('id') + i);
}
ids += $(this).attr('id');
})
}
Вы можете использовать
elements = document.getElementsByClassName(names);
и петля на результатах, есть также hasClass функция.
Но обычно идентификатор должен быть уникальным.
Это недопустимый HTML, см. Здесь: http://www.w3schools.com/tags/att_global_id.asp
Если вы повторяете, например, несколько учеников, обязательно используйте цикл для идентификатора, чтобы вы
id="studentName1"
id="studentName2"