2016-08-27 6 views
0

スーパーでJqueryを新しくしました。ループを使用して一意のIDを作成する手助けが必要です - jQuery

私はjqueryを使ってループを作成することで、それぞれの "セクション"タグに固有のIDを作成しようとしています。何らかの理由で、このコードは動作していません。私は非常に混乱していますので、私が間違っているアイデアがあれば教えてください。
また、私のliタグの内側に私のh2タグを入れて、私のulタグの中に私のliタグを入れようとしています。そこにも助けていただければ幸いです。この情報はすべて私のh1タグの後に追加されるはずです。あなたが二回あなたのh2要素をループしている

$(document).ready(function() { 
    var h2 = $("h2"); 
    $(h2).each(function(index) { 
     for (var index = 0; index < 4; index++) { 
      $(h2).attr("id", "section" + index); 

      $(h2).attr("href", "#"); 
     } 
    }); 

    var ul = $("<ul></ul>").find("ul"); 
    var list = $("<li></li>").find("li"); 

    $(".content h1").append(h2); 

}); 

HTML ADDITION 

<body> 
<div class="concha"> 
<h1>The love of my life and how we met </h1> 

    <h3>The following is information on the Best thing that's ever  happened to me</h3> 
    <h2>We met at the Park</h2> 
    <p>filler text</p> 
    <p>filler text</p> 

    <h2>We went to the movies</h2> 
    <p>filler text</p> 
    <p>filler text</p> 
    <h2>We had ice cream together</h2> 
     <p>filler text</p> 
     <p>filler text</p> 
    <h2>The end</h2> 
     <p>filler text</p> 
    <p>filler text</p> 
+0

htmlを共有できますか? –

+0

あなたのh2タグはすべてid = "section3"で終わっていますか? –

+0

ええ、私はsection0、section1、section2、section3、または少なくともある種の一意のIDになるようにしようとしています –

答えて

3

ありがとうございました。また、ループ内のすべてのh2要素を上書きしています。現在の要素を呼び出すには、ループ内でthisを使用する必要があります。

$(document).ready(function() { 
    var h2 = $("h2"); 
    var i = 0; // define variable i as your "index" 
    $(h2).each(function(index) { 
     i++; // Increase i by 1 each time you loop through your h2 elements 
     $(this).attr("id", "section" + i); // Use $(this) to pull out the current element 

     $(this).attr("href", "#"); // Again, use $(this) 
    }); 

}); 
関連する問題