単純な問題だと思っていたものに問題があります。
一連のブログ投稿のアンカー リンクの作成を自動化したい - each()コマンドを使用して、親 div の子をループしようとしましたが、正しく動作させることができず、今は混乱していて、自分が何をしているのかわかりません。((@_@))
ブログのコンテンツは次のように構成されています。
<div id="content">
<div class="list-journal-entry-wrapper">
<div class="post-text">
<div id="item101" class="journal-entry">...</div>
</div><div class="post-text">
<div id="item102" class="journal-entry">...</div>
</div><div class="post-text">
<div id="item103" class="journal-entry">...</div>
</div>
</div>
</div>
</div>
私がやりたいことは、次のようid="item101"
に、各.journal-entry
投稿に一意の項目番号 ( ) を使用して、アンカー リンクのリストを作成することです。
<div id="news-links">
<a href="#item101">Post 101</a><br/>
<a href="#item102">Post 102</a><br/>
<a href="#item103">Post 103</a><br/>
</div>
id="xxxxx"
各投稿の検索に問題があります。
その ID を取得したら、そのid
値をhref
<a href="#xxxxx">Post xxxxx</a>
each()コマンドについて理解できるように、例を示していただければ幸いです。
または、これを行うより良い方法はありますか?
解決しました!adeneoとtheCodeParadoxの例のおかげで、私はプロセスでいくつかのことを学び、両方のソリューションから少し学びました.
実際の HTML には追加の div があることに注意してください。最終的な jQuery ルーチンはh2.title
、リンク テキストとして使用する記事のタイトルを検索し、関数を使用して、アンカー リンクに使用するparents()
最初のラッパー div の id 属性を見つけます。id="item12345"
href
$('h2.title a').each(function() {
var el = $(this);
var id = el.parents('div.journal-entry:first').attr('id');
var insert = '<a href="#' + id + '">' + el.text() + '</a></br>';
$('#news-anchors').append(insert);
});
美しく機能しているので、時間を割いて手伝ってくれてありがとう。