2017-04-26 15 views
5

Mam następujący kod HTML. Chciałbym znaleźć i zamienić tekst bez tagów HTML i zawinąć go w element p używając jQuery. Czy istnieje sposób, aby osiągnąć mój cel?Jak znaleźć tekst bez znacznika html i wstaw go do dokumentu

<div class="col span_12_of_12 firstDiv"> 
    <h2>My tasks</h2> 
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr 
    <ul> 
    <li>Lorem ipsum dolor sit</li> 
    <li>Lorem ipsum dolor sit</li> 
    <li>Lorem ipsum dolor sit</li> 
    <li>Lorem ipsum dolor sit</li> 
    </ul> 
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr 
</div> 
+2

jaka powinna być markup wyjście? – gurvinder372

+0

znaleźć? i wymienić? – prasanth

+3

Myślę, że OP odnosi się do 2 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr', które nie są hermetyzowane –

Odpowiedz

7

Do tego trzeba znaleźć textNodes dzieci i owinąć je w <p> tagu osiągnąć. Aby to zrobić można użyć contents() i filter()wrap() wtedy coś takiego:

$('.col').contents().filter(function() { 
 
    return this.nodeType == 3 && this.textContent.trim(); 
 
}).wrap('<p />');
p { border: 1px solid #C00; } /* only used to make the output obvious */
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col span_12_of_12 firstDiv"> 
 
    <h2>My tasks</h2> 
 
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr 
 
    <ul> 
 
    <li>Lorem ipsum dolor sit</li> 
 
    <li>Lorem ipsum dolor sit</li> 
 
    <li>Lorem ipsum dolor sit</li> 
 
    <li>Lorem ipsum dolor sit</li> 
 
    </ul> 
 
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr 
 
</div>

+0

Tak elegancko, dobrze zrobione –

+0

Witam Rory Dziękuję bardzo za odpowiedź. To działa! – Daniel