如何在第一个“/”(斜杠)处拆分字符串并将其部分括在“<跨度>”中?

2022-08-30 02:09:46

我想格式化此日期:.<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

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

答案 2

与其使用具有固定索引的子字符串,不如使用 :replace

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

一个优点是,如果第一个处于不同的位置,它仍然有效。/

此构造的另一个优点是,只需更改选择器,它就可以扩展到多个元素,例如,可以扩展到所有实现类的元素。

演示(请注意,我必须在jsfiddle窗口左侧的菜单中选择jQuery)