2010-09-02 6 views
1

J'ai plusieurs td s, avec ids = row [0], row [2] row [4] et ainsi de suite.Modifier le contenu HTML en vrac en utilisant jQuery

<td id="row[4]">02:45</td> 
<td id="row[6]">03:45</td> 

Le contenu de ces derniers sont des moments comme 03h45, 04h45 que je veux changer à 03h15, 04h15, etc. en utilisant jQuery.

EDIT:

J'ai fini avec ceci:

jQuery('td[id^="row"]').each(function(){ 
    min = parseInt(jQuery(this).text().substr(3,2)) + 30; 
    min %= 60; 
    new_time = jQuery(this).text().substr(0,3) + min; 
    jQuery(this).text(new_time); 
    }); 

est-il un moyen plus propre de le faire maintenant?

+0

Les crochets ne sont pas des caractères valides pour l'ID attribut. Pourquoi ne pas donner un identifiant à l'élément parent et accéder aux enfants via * childNodes [i] *? –

Répondre

0

Cela dépend de la façon dont vous accédez aux cellules. Ils peuvent simplement être nommés en série s'ils n'indiquent pas du tout leur contenu. En supposant que vous avez que les soins pris en charge, la syntaxe pour changer un (correctement nommé) élément est

$('#your_id').html('text or HTML string here'); 

ou

$('#your_id').text('text or HTML string here'); 

pour remplacer uniquement le texte qui y .

1

Une autre solution .. Puisque vous voulez seulement changer le texte à l'intérieur des td s, essayer ...

$('#myTable td').text(function (i, oldValue) { 
    return oldValue.replace('45', '15'); 
}); 

Vous pouvez également utiliser le sélecteur suggéré par @Sarfaz à la place.

Non testé, mais je crois que cela devrait fonctionner.

1

Merci pour votre réponse ... Je me suis retrouvé avec ça ... Y at-il une façon plus simple de le faire maintenant? Je veux faire 1:00-1:30, 1:15-1:45, 1:30-1:00 et 1:45-1:15

jQuery('td[id^="row"]').each(function(){ 
    min = parseInt(jQuery(this).text().substr(3,2)) + 30; 
    min %= 60; 
    new_time = jQuery(this).text().substr(0,3) + min; 
    jQuery(this).text(new_time); 
    }); 
+2

Je pense que vous auriez dû ajouter ceci à votre question (en éditant) au lieu de l'afficher comme réponse. (Puisqu'il a une autre question dedans). –

+0

Merci ... Est-ce que ... – Garfield

Questions connexes