2016-11-21 9 views
1

ich jquery bin mit einem Abschnitt der Kopie auszuwählen:aber ausschließen einige Kinder

str = '.main-content p:nth-child('+num+')'; 
string = jQuery(str).html(); 

(num wird an anderer Stelle erklärt und ist kein Problem).

Dies wählt den gesamten Inhalt innerhalb des p-Tags aus (natürlich), aber die p-Tags, die ich auswähle, haben Tags und starke Tags verschachtelt. Gibt es eine Möglichkeit, das p-Tag auszuwählen und das starke Tag zum Beispiel auszuschließen. Ich habe den folgenden Code versucht:

str = '.main-content p:nth-child('+num+') :not(strong)'; 

Aber dies wählt alle Kinder Elemente (mit Ausnahme von stark), aber nicht der Inhalt des tatsächlichen p-Tages.

Alle Ideen wären willkommen!

Vielen Dank im Voraus!

Bearbeiten - Beispiel angefordert:

<p><strong>Content that I want to ignore</strong> This is some content which I would like to include. <a href="#">also keep this</a></p> 

Vorzugsweise ist diese Rückkehr:

<p>This is some content which I would like to include. <a href="#">also keep this</a></p> 

oder dies:

This is some content which I would like to include. <a href="#">also keep this</a> 
+2

Können Sie zB HTML zeigen und die gewünschte Ausgabe bitte? – Stuart

+0

Fügen Sie den Elementen, die Sie ändern möchten, eine Klasse hinzu. –

+0

Können Sie genauer sein? Wie würde das genau helfen? Danke für deinen Beitrag! – samisonline

Antwort

3
var p = $('.main-content p:nth-child('+num+')').clone(); 
p.find('*:not(a)').remove(); 
var your_string = p.html(); 

oder können Sie genaue Tags angeben zu entfernen:

p.find('strong, b, i').remove(); 
+0

Vielen Dank! Lief wie am Schnürchen! – samisonline

0

können Sie reguläre Ausdrücke verwenden:

var str = $('p').html(); 
 
str = str.replace(/<strong>[^<]*<\/strong>/gi,''); 
 
console.log(str.trim());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<p><strong>Content that I want to ignore</strong> This is some content which I would like to include. <a href="#">also keep this</a></p>

Verwandte Themen