私はこのHTMLリストを持っています:
<li class="lv3"><a class="catLink" href="#">Bob Smith</a></li>
<li class="lv3"><a class="catLink" href="#">Bob Stone</a></li>
<li class="lv3"><a class="catLink" href="#">Bob Miller</a></li>
<li class="lv3"><a class="catLink" href="#">John Smith</a></li>
<li class="lv3"><a class="catLink" href="#">John Doe</a></li>
<li class="lv3"><a class="catLink" href="#">Jason McGee</a></li>
このように同じ Firstname を含むリスト要素をラップしたい
<ul>
<li class="lv2">Bob</li>
<li class="lv3"><a class="catLink" href="#">Bob Smith</a></li>
<li class="lv3"><a class="catLink" href="#">Bob Stone</a></li>
<li class="lv3"><a class="catLink" href="#">Bob Miller</a></li>
</ul>
<ul>
<li class="lv2">John</li>
<li class="lv3"><a class="catLink" href="#">John Smith</a></li>
<li class="lv3"><a class="catLink" href="#">John Doe</a></li>
</ul>
<ul>
<li class="lv2">Jason</li>
<li class="lv3"><a class="catLink" href="#">Jason McGee</a></li>
</ul>
リストを反復処理して配列を設定し、次のコードを記述して新しい要素を作成しようとしました (たとえば、getID はテキストを Bob と Smith に送信します)。
var menArr = [];
$(".catLink").wrap("<li class='lv3'>");
$("#getStyles .lv3").each(function() {
var txt = getID($(this).text());
$(this).wrapAll("<ul>").before("<li class='lv2'>"+txt+"</li>");
menArr.push(txt);
});
しかし、私が得るのはこれだけです:
<ul>
<li class="lv2">Bob</li>
<li class="lv3"><a class="catLink" href="#">Bob Smith</a></li>
</ul>
<ul>
<li class="lv2">Bob</li>
<li class="lv3"><a class="catLink" href="#">Bob Stone</a></li>
</ul>
...等々。
これを修正するのを手伝ってもらえますか?