2014-11-04 80 views
2
<ul> 
<li><a href="#">Menu One</a></li> 
<li><a href="#">Menu Two</a></li> 
</ul> 

嗨,大家好,请你帮我添加一个
标签使用jQuery的a标签的最后一个元素?感谢使用jquery在最后一个单词上添加<br/>标记?

这样一个

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

回答

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>标签硬道理面前,没有别的话。

+0

感谢mash! :d – user2533808 2014-11-04 23:27:11

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/

+0

谢谢纠正。 – dfsq 2014-11-04 08:09:50

+0

谢谢dfsq! :D – user2533808 2014-11-04 23:27:32

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

此解决方案:

$("ul > li > a").html(function(i, html) { 
    return html.replace(/ /g, '<br/>'); 
}); 
相关问题