如何在第一个`/`(斜杠)处拆分字符串并将其一部分包围在`<span>`中?

IT技术 javascript jquery date split substring
2021-02-28 23:08:48

我想格式化这个日期:<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 帮助我吗?

6个回答

使用 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
谢谢,阿迪尔。你的答案值得放弃。谢谢。
2021-04-27 23:08:48
您还可以像这样缩短脚本: var arr = $('#date').text().split('/');
2021-05-01 23:08:48

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

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

一个优点是,如果第/一个位置不同,它仍然可以工作

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

演示(请注意,我必须在 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 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>
这不起作用。您所呼叫.textx你确定吗 ?
2021-04-19 23:08:48