Bir dizgeyi ilk `/` (eğik çizgi) 'ye nasıl böler ve bir kısmını <span> `de sararsınız?


168

Bu tarihi biçimlendirmek istiyorum: <div id="date">23/05/2013</div>.

İlk önce ilk önce dizeyi bölmek /ve bir sonraki satırda dinlenmek istiyorum. Ardından, bir <span>etiketin ilk bölümünü aşağıdaki gibi çevrelemek istiyorum :

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

Ben ne yaptım:

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

Bkz. JSFiddle .

Ancak bu işe yaramıyor. Birisi bana jQuery ile yardımcı olabilir mi?


1
jQueryBurada belirtilmeyen kemanınız jsfiddle.net/K3D6d/2
Dhaval Marthak

Yanıtlar:


375

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

Vaktini boşa harcamak

Bu dizeyi böldüğünüzde ---> 23/05/2013üzerinde/

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

bir dizi boyut alacaksın 3

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

4
Ayrıca betiği şu şekilde kısaltabilirsiniz:var arr = $('#date').text().split('/');
SearchForKnowledge

Teşekkürler Adil. Cevabınız vazgeçmeye değer. Teşekkürler.
ankit suthar

10

Sabit bir dizine sahip alt dize kullanmak yerine şunları kullanmanız daha iyi olur replace:

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

Bir avantaj, birincisi /farklı bir konumda olsa bile yine de işe yarayacağıdır .

Bu yapının bir diğer avantajı, sadece seçiciyi değiştirerek birden fazla öğeye, örneğin bir sınıfı uygulayan herkese genişletilebilir olmasıdır.

Gösteri (jsfiddle penceresinin sol tarafındaki menüde jQuery seçmek zorunda olduğumu unutmayın)


2

Html () kullanmalısınız:

DEMO'YU GÖR

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


0

bunu kullan

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

bu işe yaramıyor. Aradığınız .textüzerinde x? Emin misiniz ?
Muhammed Adil


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

var res = str.split(" ");

Burada "res" değişkeni bir dizi dizisidir.

Ayrıca bu açıklamayı,

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

Artık dizinin tek tek kelimelerine erişebilirsiniz. Dizinin üçüncü öğesine erişmek istediğinizi, dizi öğelerini endeksleyerek kullanabilirsiniz.

var FirstElement= res[0];

Şimdi FirstElement değişkeni 'How' değerini içeriyor

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.