Wie kann man eine Zeichenfolge beim ersten `/` (Schrägstrich) teilen und einen Teil davon in einem `<span>` umgeben?


167

Ich möchte dieses Datum formatieren : <div id="date">23/05/2013</div>.

Zuerst möchte ich den String beim ersten teilen /und den Rest in der nächsten Zeile haben. Als nächstes möchte ich den ersten Teil eines <span>Tags wie folgt umgeben:

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

Was ich getan habe:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

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

Siehe die JSFiddle .

Das geht aber nicht. Kann mir jemand bei jQuery helfen?


1
Ihre Geige, auf die nicht verwiesen wird jQueryHier ist aktualisiert jsfiddle.net/K3D6d/2
Dhaval Marthak

Antworten:


373

Verwenden von split()

Snippet:

var data =$('#date').text();
var arr = data.split('/');
$("#date").html("<span>"+arr[0] + "</span></br>" + arr[1]+"/"+arr[2]);	  
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="date">23/05/2013</div>

Geige

Wenn Sie diese Zeichenfolge ---> 23/05/2013weiter teilen/

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

Sie erhalten eine Reihe von Größen 3

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

4
Sie können das Skript auch folgendermaßen kürzen:var arr = $('#date').text().split('/');
SearchForKnowledge

Danke, Adil. Ihre Antwort ist es wert, eine aufzugeben. Vielen Dank.
Ankit Suthar

10

Anstatt Teilzeichenfolgen mit einem festen Index zu verwenden, sollten Sie Folgendes verwenden replace:

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

Ein Vorteil ist, dass es immer noch funktionieren würde, wenn sich der erste /an einer anderen Position befindet.

Ein weiterer Vorteil dieses Konstrukts besteht darin, dass es durch Ändern des Selektors auf mehr als ein Element erweiterbar ist, beispielsweise auf alle, die eine Klasse implementieren.

Demonstration (Beachten Sie, dass ich jQuery im Menü im linken Teil von jsfiddles Fenster auswählen musste)


2

Sie sollten html () verwenden:

SIEHE DEMO

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


0

benutze das

<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>

das funktioniert nicht Sie rufen .textan x? bist du sicher ?
Mohammad Adil


-2
var str = "How are you doing today?";

var res = str.split(" ");

Hier ist die Variable "res" eine Art Array.

Sie können diese Erklärung auch nehmen, indem Sie sie als deklarieren

var res[]= str.split(" ");

Jetzt können Sie auf die einzelnen Wörter des Arrays zugreifen. Angenommen, Sie möchten auf das dritte Element des Arrays zugreifen, das Sie durch Indizieren von Array-Elementen verwenden können.

var FirstElement= res[0];

Jetzt enthält die Variable FirstElement den Wert 'How'

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.