この日付をフォーマットしたいのですが<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を手伝ってくれる?
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
on /
var myString = "23/05/2013";
var arr = myString.split('/');
サイズ3
の配列を取得します
arr[0] --> 23
arr[1] --> 05
arr[2] --> 2013
固定インデックスでサブストリングを使用する代わりに、replace
を使用したほうがよいでしょう。
$("#date").html(function(t){
return t.replace(/^([^\/]*\/)/, '<span>$1</span><br>')
});
1つの利点は、最初の/
が別の位置にあっても機能することです。
この構造のもう一つの利点は、セレクタを変更するだけで、たとえばクラスを実装するすべての要素など、複数の要素に拡張できることです。
デモンストレーション (jsfiddleのウィンドウの左側のメニューでjQueryを選択しなければならなかったことに注意してください)
あなたはhtml()を使うべきです:
$(document).ready(function(){
$("#date").html('<span>'+$("#date").text().substring(0, 2) + '</span><br />'+$("#date").text().substring(3));
});
やってみる
date.innerHTML= date.innerHTML.replace(/^(..)\//,'<span>$1</span></br>')
<div id="date">23/05/2013</div>
これを試して
$("div#date").text().trim().replace(/\W/g,'/');
正規表現を見てください http://regexone.com/lesson/misc_meta_characters
お楽しみください;-)
これを使って
<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>