2012-11-30 19 views
10

के अंदर लपेटें पाठ मुझे एक div के अंदर पाठ को लपेटने की आवश्यकता है।तत्व

<div class="item"> 
    <span class="count"></span> 
    Text that needs to be wrapped. 
</div> 

<div class="item"> 
    <span class="count"></span> 
    Text that needs to be wrapped. 
</div> 

<div class="item"> 
    <span class="count"></span> 
    Text that needs to be wrapped. 
</div> 

इस की कोशिश की लेकिन यह वास्तव में काम नहीं किया ...

$('.item').text().wrap('<span class="new" />'); 

उत्तर

1
$('.item').html($('<span class="new">').text($(".item").text())) 
+0

यह एक अवधि के अंदर अपने पाठ नोड लपेट नहीं करता है देखें .... और क्या #ID है उन का उपयोग करें। –

2

एकल DIV:

var txt = $('.count')[0].nextSibling; 
$(txt).wrap('<span class="new" />'); 

JSfiddle

एकाधिक DIVs:

var markers = document.querySelectorAll('.count'), 
    l = markers.length, 
    i, txt; 

for (i = l - 1; i >= 0; i--) { 
    txt = markers[i].nextSibling; 
    $(txt).wrap('<span class="new" />'); 
} 

JSFiddle

+0

क्षमा करें, मेरे उदाहरण में एक एकल div था, कई हो सकते हैं: http://jsfiddle.net/TELV6/1/ – santa

+0

कोई जांच नहीं। अद्यतन उत्तर देखें, @ सांता – spliter

+0

+1 jsfiddle ... मैं हमेशा कुछ करता हूं। धन्यवाद – santa

8

के बारे में

$('.item').contents().filter(function(){ 
    return this.nodeType == 3 && $.trim(this.nodeValue).length; 
}).wrap('<span class="new" />'); 

http://jsfiddle.net/mowglisanu/x5eFp/3/

+1

हाँ, यह काम किया! सुंदर फैंसी ... – santa

+0

मैं लगभग एक ही चीज़ पोस्ट करने वाला था, आप '$ .trim ($ (this) .text()) को बदलकर इसे अनुकूलित कर सकते हैं।' $ .trim (this.nodeValue) के लिए लंबाई'! = '' ' – Nelson

+0

मैंने देखा कि div में   भी लपेटा गया था ... जबकि @ वायरी का समाधान नहीं था। सहायता के लिए धन्यवाद। – santa

1

इस पर मेरे ले:

$('.item').contents().each(function() { 
    if (this.nodeType == 3 && $.trim(this.nodeValue) != '') { 
     $(this).wrap('<span class="textwrapped"></span>'); 
    } 
}); 

$.trim हिस्सा मांगपत्र एचटीएमएल कोड के लिए इस्तेमाल किया टैब के रूप में की जरूरत है भी हम बाहर फिल्टर करने के लिए है कि पाठ नोड्स (जैसे हैं। आदि वह कक्षाओं मिला है, - - सही <span class="count"> से पहले टैब) के रूप में

काम कर demo