JQuery如何处理getElementsByClassName迭代?

时间:2015-01-20 17:23:55

标签: javascript jquery html attr getelementsbyclassname

今天我缩短了我的旧代码,我看到了这段代码:

$(".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个不同的ID“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>

如果有错误的拼写,语法或词汇错误,我很抱歉。而且我认为我无法解释我的问题,但我希望你能理解。

1 个答案:

答案 0 :(得分:3)

来自the docs

  

获取匹配元素集中第一个元素的属性值。