文字列を最初の `/`(スラッシュ)で分割し、その一部を `<span>`で囲む方法は?


167

この日付をフォーマットします:<div id="date">23/05/2013</div>

最初に、最初の文字列を分割し/、残りを次の行に配置します。次に、次のように<span>タグの最初の部分を囲みます。

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

私がしたこと:

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

JSFiddleを参照してください

しかし、これは機能しません。誰かがjQueryを手伝ってくれる?


1
jQueryここで参照されていないフィドルが更新されますjsfiddle.net/K3D6d/2
Dhaval Marthak 2013年

回答:


374

使用する split()

スニペット:

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>

フィドル

この文字列を分割---> 23/05/2013すると/

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

サイズの配列を取得します 3

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

4
また、このようなスクリプトを短縮することができますvar arr = $('#date').text().split('/');
SearchForKnowledge

ありがとう、アディル。あなたの答えは1つあきらめる価値があります。ありがとう。
ankit suthar 2017年

10

固定インデックスで部分文字列を使用する代わりに、次のように使用することをお勧めしますreplace

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

1つの利点は、1つ目/が別の位置にある場合でも機能することです。

この構造のもう1つの利点は、セレクターを変更するだけで、クラスを実装するすべての要素など、複数の要素に拡張できることです。

デモ(jsfiddleのウィンドウの左側にあるメニューでjQueryを選択する必要があったことに注意してください)


2

あなたはhtml()を使うべきです:

デモを見る

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


0

これを使って

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

これは機能しません。あなたは呼びかけ.textていxますか?本気ですか ?
Mohammad Adil 2016年


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

var res = str.split(" ");

ここで、変数「res」は一種の配列です。

次のように宣言することで、この明示を行うこともできます

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

これで、配列の個々の単語にアクセスできます。配列の3番目の要素にアクセスする場合、配列要素にインデックスを付けることで使用できます。

var FirstElement= res[0];

これで、変数FirstElementに値「How」が含まれます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.