javascript - 在元素之间添加分隔符

标签 javascript jquery

我通过循环访问一组其他元素在 div 中添加一些链接。

代码基本上是这样的

$('.js-section').children().each(function() {
  var initial = $(this).data('initial');
  $(".js-section-navigation").append("<a href='#"+ initial +"'>"+ initial +"</a>" )
});  

这会产生类似 abcd

的内容

现在,我如何在字符之间添加一个分隔符,例如 | 以获得 a |乙 | c | d?

如果我只是在追加中添加分隔符 at,我最终会得到 a |乙 | c | d | 但我不想要最后一个字符后的分隔符。

谢谢。

最佳答案

首先,您的代码中有不匹配的引号,尽管我认为这只是问题中的错字,因为您的代码在当前状态下根本无法运行。

要解决您的问题,您可以 push()每个<a>元素到数组中,然后 join()当你 append() 时,它们与分隔符一起,像这样:

var els = [];
$('.js-section').children().each(function() {
    var initial = $(this).data('initial');
    els.push('<a href="#"' + initial + '">' + initial + '</a>');
}); 
$(".js-section-navigation").append(els.join(' | '));

或者,您可以使用当前的代码并使用 CSS 放置分隔线,如下所示:

.js-section-navigation a {
    display: inline-block; 
    border-right: 1px solid #000; /* amend as needed */
    padding-right: 10px;
    margin-right: 10px;
}
.js-section-navigation a:last-child {
    border: 0;
    padding: 0;
    margin: 0;
}

Working Example

关于javascript - 在元素之间添加分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40781096/

相关文章:

javascript - 将单击的项目作为路由参数传递给 Angular 中的子组件

javascript - window.open 页面加载

javascript - 隐藏包含特定字符串的div

java - 如何在从 jquery 发送 $.get 请求时启用 CORS?

javascript - KineticJS:Firefox 与 Chrome 中的动画性能

javascript - 从起始位置求和下一个数组元素 (javascript)

javascript - Angular 2 : Promise rejection: alertify is not defined

javascript - 使用 javascript FileReader API 时是否有文件大小限制?

javascript - 仅当您不在当前页面上时,使用 jQuery 滚动到 anchor 才有效

jquery 将元素移动到最后一个子位置