【问题标题】:How add "href attribute" after "</a>"如何在“</a>”之后添加“href 属性”
【发布时间】:2018-08-17 18:00:59
【问题描述】:

我想在每个锚标记的结束标记 &lt;/a&gt; 处显示“href”属性的值。

相反,此代码仅适用于页面上的第一个链接。

jQuery.noConflict(); 
jQuery(document).ready(function($) {
    $('a').after($('a').attr('href'));
})(jQuery);

【问题讨论】:

  • 您需要执行每个。您正在进行两次全局查找。

标签: jquery insertafter


【解决方案1】:

您需要以不同的方式调用该函数:

.after( function-html )

Type: Function(Integer index, String html) => htmlString or Element or Text or jQuery 一个返回 HTML 字符串、DOM 元素、文本节点或 jQuery 对象的函数,以插入到匹配元素集中的每个元素之后。接收集合中元素的索引位置和元素的旧 HTML 值作为参数。在函数中,this 指的是集合中的当前元素。

通过这种方式,您可以为每个锚点返回到 after 方法打印正确的文本:

$('a').after(function(idx, txt) {
    return this.getAttribute('href');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="url1">link text</a>
<a href="url2">link text</a>
<a href="url3">link text</a>
<a href="url4">link text</a>

【讨论】:

  • 小挑剔。如果您不打算使用idxtxt,为什么要定义它们? :)
  • 你是对的,但我认为在这种情况下完整的功能描述很重要。例如,使用 ES6 的简化格式会更难阅读。
  • 我不提倡使用箭头函数,只是不定义未使用的参数。但是要解释一个方法的用法,它可能是有道理的。
猜你喜欢
  • 2016-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
相关资源
最近更新 更多