2012-09-07 20 views
12

Ich versuche, eine Diashow von Bildern zu machen, und alles, was ich habe, ist ein Rich-Text-Editor, um die Bilder und Text einzugeben. So von diesem html:jQuery wählen Sie HTML zwischen zwei Zeichenfolgenbezeichnern

Wie würden Sie den HTML zwischen #slider und # end-slider wählen?

Es ist ein ähnliches Konzept Text zwischen [link] und [/ link] in Blog-Kommentaren zum Beispiel zu extrahieren: [link] http://google.com [/ link]

+0

Ist '# eine ID oder Textinhalt slider'? – undefined

+0

#slider ist nur Text –

+2

Nicht genau "ähnlich", eckige Klammer '[Tags]' kann nur von Regex geparst werden - und wird normalerweise serverseitig für die Bereinigung (verschachtelte Tags usw.) getan. Jetzt präsentieren Sie tatsächliche DOM-Elemente mit Textknoten, sicher, dass Sie sie mit Regex analysieren könnten, aber es gibt bessere Möglichkeiten. –

Antwort

6

Try this:

$('p:contains("#slider")').nextUntil('p:contains("#end-slider")') 

Update:

var end = $('p:contains("#end-slider")'); 
$('p:contains("#slider")').nextUntil(end).andSelf().add(end) 

http://jsfiddle.net/63kQC/

+0

Danke das hat gut funktioniert! Ich frage mich auch, ob es eine Möglichkeit gibt, alles auszuwählen, also die Bezeichner und das html, also #slider html # end-slider? –

+0

@PaulMason Ja, versuchen Sie den aktualisierten Code. – undefined

+0

Ausgezeichnet! Vielen Dank –

8
$(document).ready(function() { 
    $('p:contains("#slider")') 
     .nextUntil('p:contains("#end-slider")') 
     .wrapAll("<div id='stuff'></div>"); 
    var required = $('#stuff').html(); 
}); 

http://jsfiddle.net/483kL/

+1

genial :) :) :) :) – AdityaParab

+1

Natürlich kann der ': contains 'Selektor einige unbeabsichtigte Sachen, z. '

#slider *** headkeyboard *** dsgdfhdfjdfj

'. OP kann damit aber in Ordnung sein. –

2

Versuchen Sie, diese

$(document).ready(function(){ 
    $('p:contains("#slider")').nextUntil('p:contains("#end-slider")'); 
}); 
Verwandte Themen