169 votes

Comment diviser la chaîne à l'aide de jQuery ou javascript?

<div id="date">23/05/2013</div>

Je veux formater cette date, d'abord j'ai envie de casser la chaîne, comme au 2e personnage et le reste dans la ligne suivante. Et si possible avec jQuery pour ajouter deux balises. comme suit:

23
05/2013

<div id="date">
<span>23</span>
05/2013</div>

Ce que j'ai fait:

<div id="date">23/05/2013</div>
<script type="text/javascript">
$(document).ready(function(){
    $("#date").text().substring(0, 2) + '<br />';     
});
</script>

http://jsfiddle.net/K3D6d/

mais cela ne fonctionne pas!
Quelqu'un peut aider avec jQuery?
Merci!!!!

385voto

Mohammad Adil Points 25444

À l'aide de split()

var data = $('#date').text();
var arr = data.split('/');
$("#date").html("<span>"+arr[0] + "</span></br>" + arr[1]+"/"+arr[2]);

Démo --> http://jsfiddle.net/K3D6d/5/


Lorsque vous divisez cette chaîne de caractères ---> 23/05/2013 sur /

var myString = "23/05/2013";
var arr = myString.split('/');

vous aurez un tableau de taille 3

arr[0] --> 23
arr[1] --> 05
arr[2] --> 2013

10voto

dystroy Points 145126

Au lieu d'utiliser des sous-chaîne avec un indice fixe, vous feriez mieux d'utiliser replace :

$("#date").html(function(t){
    return t.replace(/^([^\/]*\/)/, '<span>$1</span><br>')
});

Un avantage est qu'il fonctionne encore si le premier / est à une position différente.

Un autre avantage de cette construction est qu'il serait extensible à plus d'un des éléments, par exemple à tous ceux qui l'implémentation d'une classe, juste en changeant le sélecteur.

Démonstration (à noter que j'ai eu pour sélectionner jQuery dans le menu dans la partie gauche de jsfiddle de la fenêtre)

2voto

A. Wolff Points 39736

Vous devez utiliser le format html():

VOIR LA DÉMO

$(document).ready(function(){
    $("#date").html('<span>'+$("#date").text().substring(0, 2) + '</span><br />'+$("#date").text().substring(3));     
});

0voto

Anand Shah Points 184

l'utilisation de ce

<div id="date">23/05/2013</div>
<script type="text/javascript">
$(document).ready(function(){
  var x = $("#date").text();
    x.text(x.substring(0, 2) + '<br />'+x.substring(3));     
});
</script>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X