我在我认为是一个简单的问题上遇到了一些麻烦。
我想为一系列博客文章自动创建锚链接 - 我一直在尝试使用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);
});
工作得很好,所以感谢您抽出时间来帮助我。