2013-10-22 39 views
0

如何区分一个段落的每个字母?用jquery分隔每个字母

当前HTML

<div id="news">news flash</div> 

结果应该是这样的

<div id="news"> 
<span>n</span><span>e</span><span>w</span><span>s</span><span>&nbsp;</span> 
<span>f</span><span>l</span><span>a</span><span>s</span><span>h</span> 
</div> 

,这样我可以让动画效果,每个字母作为我们在Flash或图像做准备。

+4

你尝试过什么? – j08691

回答

3

你可以做

$('#news').html(function(_,html){ 
    return html.split('').map(function(letter){ 
     return '<span>'+letter+'</span>' 
    }).join(''); 
}) 

Demonstration

+1

我们不需要加入吗? 'return html.split('')。map(function(letter){ return''+ letter +'' })。join('')' –

+0

@YuryTarabanko它更干净,但你不需要* to:'html'函数,当你传递一个不是字符串的参数时,会调用append来调用内部的'domManip'函数,它通过附加不同的元素来处理数组。当然这没有记录,所以最好添加'.join('')';) –

0
var txt = $("#news").html(); 
var spantxt=""; 
for(var i =0;i<txt.length;i++){ 
    spantxt+="<span>"+txt[i]+"</span>"; 
} 
$("#news").html(spantxt); 
相关问题