如何用另一个标签包装标签中的每个文本项,如p

时间:2013-12-08 08:31:18

标签: javascript jquery

所以,在你问为什么之前,想法是在屏幕上找到文本的位置,我发现这样做的唯一方法是它是一个真正的元素。

$('button#orphan').click(function(){

    //The vars are defined globally for debugging.

    pNodeSplitText = new Array();
    pNodes=$('p');
    orphanedNodes=new Array();
    pNodes.each(function(index){
        pNodesHTMLbefore=pNodes.eq(index).html(); //May not be nessicary
        pNodeSplitText[index] = pNodes.eq(index).text().split(' '); //To get each text item
        pNodeSplitText.each(function(i){
          // this is where i will wrap each wrord, but how?
        })
    })
})

1 个答案:

答案 0 :(得分:0)

您没有提供任何HTML,但如果它就像给定(在此示例中)HTML那么您可以尝试这样的事情(Example

<强> HTML:

<p>Some text</p>
<p>Some more text</p>

<强> JS:

$('button#orphan').click(function(){
    var pNodeSplitText = [], orphanedNodes = [], pNodes = $('p');
    pNodes.each(function(i){
        pNodeSplitText = pNodes.eq(i).text().split(' ');
        var newText = '<span class="txt">' + pNodeSplitText.join('</span> <span class="txt">') + '</span>';
        $(pNodes[i]).html(newText);
    });
});