2010-10-27 6 views
1

bien, je suis coincé et j'espère que vous pouvez aider. J'ai créé un exemple de texte et l'ai mis à la fin de la publication. Merci d'avance.insérer le contenu au contenu déjà inséré

Sur un site, il y a par ex. 50 entrées - comme des commentaires. Certains éléments p dans certaines de ces entrées contiennent un texte spécial. Ceci est juste un extrait comment je reçois le texte spécial.

$("p:contains('special text')")

Je veux aussi obtenir l'élément div-parent et cloner le texte spécial et le texte div.

$("p:contains('special text')").parent("div").clone()

Je veux aussi insérer le contenu d'un div-élément avec id = fortext:

$("#fortext").append($("p:contains('special text')").parent("div").clone())

maintenant, et c'est le point où je suis coincé, il y a quelques entrées contenant un point de liste . Je reçois le listpoint de cette façon:

$("li:contains('listpoint text'):last").clone()

Je suis en train de cloner le 'texte' car le texte serait supprimé des entrées.

La liste d'entrée commence cependant par l'entrée # 1 et se termine par l'entrée # 50. Il a une chronologie. En clonant le contenu de p-elements et en l'insérant dans mon div, la chronologie des entrées est respectée.

Je voulais également ajouter le (s) point (s) liste (s). Si je l'utilise comme ajouter:

$("#fortext").append($("p:contains('special text')").parent("div").clone()).append($("li:contains('listpoint text'):last").clone());

Le contenu de la li-élément est inséré, oui, mais après la teneur en éléments p-insérés. Comment puis-je insérer le contenu li-elements dans le contenu p-elements? Alors que l'ordre chronologique des entrées est en attente?


entrée # 1 texte spécial 1

entrée # 2 aucun texte

entrée # 3 listpoint texte

entrée # 4 texte spécial 2

/La sortie est

texte spécial 1 div texte

texte spécial 2 div texte

listpoint texte

// Ma sortie doit être:

texte spécial 1 texte div

texte du point de liste

texte spécial 2 texte div

Modifier

Vous trouverez la structure html Je fais référence à here

+3

À moins que je me manque quelque chose, votre sortie et annonce attendue identique. –

+0

Vous avez raison. Désolé pour la confusion. J'ai édité mon post. Merci pour l'indice. – twistery

+0

Vous pouvez trouver la structure html ici: http://jsfiddle.net/ZN9A4/ – twistery

Répondre

0

Je ne saisis pas tout à fait ce que vous essayez d'accomplir, mais il me semble qu'il serait plus facile de tout cloner pour maintenir l'ordre que vous voulez, et ensuite élaguer ce que vous ne voulez pas.

Quelque chose comme:


var $cloned = $(...).clone(); 
$cloned.find("p.some-selector").addClass("keep"); 
$cloned.find("ul.another-selector").addClass("keep"); 
$cloned.find("p,ul").not(".keep").remove(); 
$cloned.find("p,ul").removeClass("keep"); 
$("#fortext").append($cloned); 
+0

Eh bien, Imaginez que vous avez un site avec beaucoup de commentaires. Vous voulez juste les commentaires où le texte d'un élément p contient un texte spécial. Cela ferait 5/100. Je clone et insère ces cinq extraits de texte avec l'élément div-parent dans une autre boîte que j'ai créée. Aussi je voulais tenir la chronologie des commentaires ont été faits. Il s'agit de gagner du temps et d'avoir les commentaires qui m'intéressent ensemble. – twistery

Questions connexes