<ul>
<li><a href="#">Menu One</a></li>
<li><a href="#">Menu Two</a></li>
</ul>
大家好,请你帮我用jquery在标签的最后一个元素上添加一个标签?感谢
像这样一个<ul>
<li><a href="#">Menu <br/>One</a></li>
<li><a href="#">Menu <br/>Two</a></li>
</ul>
我试图使用此代码,但它只在第一个单词
上添加了一个标签$('.navbar-default .navbar-nav > li > a').each(function() {
var html = $(this).html().split(" ");
html = html[0] + "<br>" + html.slice(1).join(" ");
$(this).html(html);
});
答案 0 :(得分:2)
您可以尝试这种方法:
$('.navbar-default .navbar-nav > li > a').html(function(html) {
var words = $(this).html().split(/\s+/);
words.splice(-1, 0, '<br>');
return words.join(' ');
});
答案 1 :(得分:2)
看起来像你想要的是:
$('.navbar-default .navbar-nav > li > a').each(function() {
var html = $(this).html().split(" ");
html = html.slice(0, -1).join(" ") + " <br />" + html.pop();
$(this).html(html);
});
只将<br>
标记放在最后一个单词之前,而不是其他单词。
答案 2 :(得分:0)
试试这个。这是fiddle
$('ul > li > a').each(function() {
var html = $(this).html().split(" ");
//html = html[0] + "<br>" + html.slice(1).join(" ");
html = html.join("<br>");
$(this).html(html);
});
答案 3 :(得分:0)
试试这个
$('ul li').each(function() {
var html = $(this).find('a').html().split(" ");
html = html[0] + "<br>" + html.slice(1).join(" ");
$(this).html(html);
});
答案 4 :(得分:0)
此解决方案有效:
$("ul > li > a").html(function(i, html) {
return html.replace(/ /g, '<br/>');
});