jQuery:找到H2 id并添加具有相同id的链接

时间:2017-04-16 21:41:42

标签: javascript jquery

我有以下代码,我希望每个H2 id属性我都会创建一个锚链接。我无法让它正常工作......

<div id="mydiv">
    <h2 id="first">first</h2>
    <h2>second</h2>
    <h2 id="third">third</h2>
</div>

.sls {color: red;font-size: 12px;}

$('#mydiv')
.find('h2[id]')
.append(' <a href="http://www.test.com/page.html#'+ $('h2[id]')
.attr('id') +'" class="sls">Link</a>');

https://jsfiddle.net/ivanionut/1ohh2hws/

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

你想要这样的东西吗?



    # telnet 127.0.0.1 9000
    Trying 127.0.0.1...
    telnet: connect to address 127.0.0.1: Connection timed out

$('#mydiv').find('h2[id]').each(function () {
  $(this).append(' <a href="http://www.test.com/page.html#'+ $(this).attr('id') +'" class="sls">Link</a>');
});
.sls {
  color: red;
  font-size: 12px;
}

答案 1 :(得分:2)

在你的追加电话中,你正在使用$(&#39; h2 [id])。attr()这将获得找到的集合中第一个元素的属性,因此它将始终获得第一个h2的id 。使用函数更新代码以在附加中使用 this ,如下所示:

.append(function() {
    return '<a href="http://www.test.com/page.html#'+ $(this).attr('id') +'"class="sls">Link</a>'
});

https://jsfiddle.net/1ohh2hws/2/