使用jquery在最后一个单词上添加一个标签?

时间:2014-11-04 07:58:04

标签: javascript jquery menu split pop

<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);
});

5 个答案:

答案 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(' ');
});

演示:http://jsfiddle.net/rvgfx32q/

答案 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)

试试这个

http://jsfiddle.net/wcLsm6fd/

$('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/>');
});