2013-04-14 3 views
0

Je code htmlRemplacer html div avec cet attribut

<div content="Something 1">Content 1</div> 
<div content="Something 2">Content 2</div> 
<div content="Something 3">Content 3</div> 

Je veux utiliser jQuery pour remplacer le contenu de HTML avec cet attribut content.

<div content="Something 1">Something 1</div> 
<div content="Something 2">Something 2</div> 
<div content="Something 3">Something 3</div> 

Je ne sais pas comment sélectionner plusieurs objets. N'importe qui m'aider s'il vous plaît. Merci.

+0

Comment voulez-vous pour les sélectionner. Toutes les DIV dont l'ID commence par "Quelque chose"? Pouvez-vous leur donner un cours? – Barmar

+0

Êtes-vous sûr que votre question est bien écrite? Il est difficile de comprendre ce que vous voulez réellement. Et BTW 'ID' ne devrait pas contenir d'espaces. –

+0

Étant donné que les espaces ne sont pas autorisés dans l'ID, vous pouvez envisager de les modifier. –

Répondre

4

ID ne peut pas contenir d'espaces.

 

Cela remplacera toutes les instances de Content x avec Something x, se x du id.

$("div").each(function(){ 
    $(this).text($(this).attr("id")); 
}); 

Exemple 1: http://jsfiddle.net/charlescarver/xuGEq/2/

 

Cela remplacera toutes les instances de Content x avec Something 1:

$("div").each(function(){ 
    $(this).text("Something 1"); 
}); 

Exemple 2: http://jsfiddle.net/charlescarver/xuGEq/1/

+0

c'est exactement ce dont j'ai besoin. Je vous remercie. –

+0

Quelqu'un s'il vous plaît expliquer à mon pourquoi c'est downvoted deux fois. Aussi, n'oubliez pas de marquer ceci comme votre réponse si cela résout effectivement votre problème. – Charlie

+0

Charlie, je commencerais ma réponse que c'est faux d'avoir des espaces contenant 'id', là plus je suggérerais d'utiliser le * commence par * selector 'id^= Quelque chose'. –

0

Essayez ceci si vous ne voulez pas affecter tous les divs sur la page, mais seulement celui qui contient quelque chose dans leur id ...

$("[id^=Something]").each(function(){ 
    $(this).text("Something 1"); 
}); 

Notez que l'utilisation des espaces à l'intérieur d'un identifiant est pas la façon de aller, vous devriez les nommer somthing comme « something1 » ....

1

Si tous vos id va commencer par quelque chose de préfixe, utilisez:

$("div[id^='Something']").text("Something 1") 

Si ce que vous cherchez est d'éditer tous la balises div dans votre document, vous pouvez simplement:

$("div").text("Something 1") 

Si vous savez exactement ce que les balises HTML sont celles que vous souhaitez modifier, je vous recommande de les marquer avec une classe. Disons que:

<div id="Something 1" class="editable">Content 1</div> 
<div id="Something 2" class="editable">Content 2</div> 
<div id="Something 3" class="editable">Content 3</div> 

De cette façon, vous pouvez simplement faire:

$(".editable").text("Something 1") 

Si vous souhaitez modifier leur texte intérieur. ou:

$(".editable").html("<strong>Something 1</strong>") 

Si vous voulez leur donner un format plus riche modifier non seulement leur texte, mais aussi leur code HTML intérieur.

Il est interdit d'utiliser des ID avec des espaces.Chrome ne s'en plaindra pas, mais un autre navigateur le fera. Donc, seulement dans le cas où vous utilisez des identifiants comme "Something 1", il vaudrait mieux utiliser "something_1" (c'est une convention d'utiliser des minuscules pour les attributs et les balises html).

Ici vous avez un lien qui expliquent comment fonctionnent les sélecteurs jQuery: http://api.jquery.com/

+0

Je suppose que vous avez manqué cette suggestion: «Something_1» et s'il vous plaît pour le bien de notre communauté, ne publiez pas de liens vers 'w3schools'. http://w3fools.com/ Et ce gars a écrit cet article juste à temps. –

+0

Merci beaucoup. Je ne connaissais pas l'histoire sombre de w3schools. Et tu avais raison, j'ai raté cette suggestion. Pour l'intérêt de notre communauté, posez la question en aval. Il est évident que cette personne n'a pas cherché de réponse avant de demander. – htellez

+0

Je suis d'accord avec vous, mais pour certaines personnes qui ne parlent pas anglais pourrait être assez difficile de toujours trouver les bons termes tout en "googleing". Nous devons être patients et faire de notre mieux. Dans tous les cas, le SO * comm. * Décidera s'il faut fermer/supprimer le Q. –

Questions connexes