Сегодня я сокращал свои старые коды и увидел этот код:
$(".ceker").append("<a href='kit/");
$("#pdf").append("pdf");
$("#txt").append("txt");
$("#epub").append("epub");
$(".ceker").append("/7.");
$("#pdf").append("pdf");
$("#txt").append("txt");
$("#epub").append("epub");
$(".ceker").append("'><div class='menukitap'><div class='menuharry7 menuharresler'></div><h4>Ölüm Yadigarları İndir</h4></div></a>");
раньше выводил так:
<a href="kit/pdf/7.pdf"><div class="menukitap"><div class="menuharry7 menuharresler"></div><h4>Ölüm Yadigarları İndir</h4></div></a>
А я укоротил вот так:
function item()
{
if( $('.ceker').attr('id') == 'pdf' )
{
return "pdf";
}
if( $('.ceker').attr('id') == 'txt' )
{
return "txt";
}
if( $('.ceker').attr('id') == 'epub' )
{
return "epub";
}
}
$(".ceker").append("<a href='kit/" + item() + "/7." + item() + "'><div class='menukitap'><div class='menuharry7 menuharresler'></div><h4>Ölüm Yadigarları İndir</h4></div></a>");
Этот код тоже работает, но я не понимаю, почему. На мой взгляд, этот код не должен работать, потому что класс «ceker» уже имеет 3 разных идентификатора «pdf», «txt» и «epub».
Итак, вот мой вопрос: как JQuery обрабатывает getElementsByClassName Iteration (ответ 1 )? (Я не понимаю, как это работает if( $('.ceker').attr('id') == 'pdf' )
)
И вот HTML, если вам нужно
<nav class="menu">
<span class="ara-menu-yer">Türkçe</span>
<a><li><section id="pdf" class="ceker"></section></li></a>
<a><li><section id="txt" class="ceker"></section></li></a>
<a><li><section id="epub" class="ceker"></section></li></a>
<span class="ara-menu-yer">English</span>
<a><li><section id="ingpdf" class="cekereng"></section></li></a>
<a><li><section id="ingdoc" class="cekereng"></section></li></a>
</nav>
Прошу прощения за орфографические, грамматические или словарные ошибки, если они есть. И я думаю, что я не мог объяснить свою проблему, но я хотел бы, чтобы вы поняли.
.append()
будет работать со всеми элементами в наборе, в то время как получение атрибута с использованием.attr()
вернет только атрибут первого совпавшего элемента. Если использовать.attr()
в качестве установщика,.attr('anyattribute','anyvalue')
, то он будет работать со всеми элементами в наборе. - person A. Wolff   schedule 20.01.2015