Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2011, 09h38   #1
Membre à l'essai
 
Inscription : mai 2002
Messages : 47
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 47
Points : 22
Points : 22
Par défaut Dupliquer partiellement le contenu de <li> et rajouter une balise

Bonjour,

Je débute en JQuery et je me retrouve bloqué sur un bout de code.
J'aimerai dupliquer le contenu d'une liste <ul> dans une autre <ul>
mais sans reprendre tout le contenu et en rajoutant une balise.

Un pti bout de code sera plus parlant

Je voudrai dupliquer tous les "li" de la liste "id1" :
la liste "id1" ne doit pas être modifée

Code :
1
2
3
4
5
6
 
<ul id="id1">
<li><span class="span1">Ligne 1</span><span class="span2">Ligne 1 Span 2</span><span class="span3">Ligne 1 Span 3</span></li>
<li><span class="span1">Ligne 2</span><span class=".span2">Ligne 2 Span 2</span><span class="span3">Ligne 2 Span 3</span></li>
<li><span class="span1">Ligne 3</span><span class="span2">Ligne 3 Span 2</span><span class="span3">Ligne 3 Span 3</span></li>
</ul>
dans cette liste "id2" avec quelques modif :

Code :
1
2
3
4
5
6
 
<ul id="id2">
<li><a href="#">test</a><span class="span2">Ligne 1 Span 2</span></li>
<li><a href="#">test</a><span class="span2">Ligne 2 Span 2</span></li>
<li><a href="#">test</a><span class="span2">Ligne 3 Span 2</span></li>
</ul>
J'ai écrit un début de code, il me faut maintenant dupliquer la balise .span2
avec clone je suppose ? mais je n'y arrive pas. Ca me retourne toujours un "Objet" et non pas le contenu. Il doit y avoir un moyen simple mais je ne vois pas lequel.
De plus j'utilise cette méthode de tableau pour faire le append et je me demande s'il n'y a pas plus simpe ?

Code :
1
2
3
4
5
6
 
$("#id1 li").each(function()
{
var balises = [ '<li><a href="#">test</a>\n', 'SPAN2 A DUPLIQUER ICI\n', '</li>' ]; 
$('#id2').append(balises.join('')); 
});
D'avance merci de votre aide.
NewB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 10h16   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 202
Points : 45 202
Attention !!!
une classe ne commence pas par un point !!!


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type='text/javascript'>
 $(function(){
$('#id1 li .span1, #id1 li .span3').remove()
$('#id1 .span2').before('<a href="#">test</a>')
 
})
 </script>
</head>
<body>
<ul id="id1">
<li><span class="span1">Ligne 1</span><span class="span2">Ligne 1 Span 2</span><span class="span3">Ligne 1 Span 3</span></li>
<li><span class="span1">Ligne 2</span><span class="span2">Ligne 2 Span 2</span><span class="span3">Ligne 2 Span 3</span></li>
<li><span class="span1">Ligne 3</span><span class="span2">Ligne 3 Span 2</span><span class="span3">Ligne 3 Span 3</span></li>
</ul>
</body>
</html>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 10h43   #3
Membre à l'essai
 
Inscription : mai 2002
Messages : 47
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 47
Points : 22
Points : 22
Citation:
Envoyé par SpaceFrog Voir le message
Attention !!!
une classe ne commence pas par un point !!!
Ouulaaa !! oui, j'ai fais du copier/coller un peu trop rapide. J'ai édité mon 1ier post.

Merci pour ta réponse, mais ce n'est pas tout à fait ce que je voulais faire.

J'aimerai que la list "id1" ne soit pas modifié, il faut que le contenu de la list "id1"
soit dupliqué dans la liste "id2" avec les modifications indiquées.
NewB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 11h10   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 202
Points : 45 202
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script type='text/javascript'>
 $(function(){
var newUl=$('#id1').clone().attr('id','id2')
newUl.find('li .span1, li .span3').remove()
newUl.find('.span2').before('<a href="#">test</a>')
$('#id1').after(newUl)
})
 </script>
</head>
<body>
<ul id="id1">
<li><span class="span1">Ligne 1</span><span class="span2">Ligne 1 Span 2</span><span class="span3">Ligne 1 Span 3</span></li>
<li><span class="span1">Ligne 2</span><span class="span2">Ligne 2 Span 2</span><span class="span3">Ligne 2 Span 3</span></li>
<li><span class="span1">Ligne 3</span><span class="span2">Ligne 3 Span 2</span><span class="span3">Ligne 3 Span 3</span></li>
</ul>
</body>
</html>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 11h15   #5
Membre à l'essai
 
Inscription : mai 2002
Messages : 47
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 47
Points : 22
Points : 22
il me semblait bien que c'était tout bete ^^ , je m'obstinais dans la mauvaise
direction !

merci pour ta réponse
NewB est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h08.


 
 
 
 
Partenaires

Hébergement Web