วิธีการแยกสตริงที่ `/` (ทับ) ครั้งแรกและล้อมรอบส่วนของมันใน `<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

คำตอบ:


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

ขอบคุณ Adil คำตอบของคุณคุ้มค่าที่จะยอมแพ้ ขอบคุณ
ankit suthar

10

แทนที่จะใช้ซับสตริงที่มีดัชนีตายตัวคุณควรใช้replace:

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

ข้อดีอย่างหนึ่งก็คือว่ามันจะยังคงทำงานได้ถ้าอันดับแรก/อยู่ในตำแหน่งที่แตกต่างกัน

ข้อดีอีกอย่างของโครงสร้างนี้ก็คือมันจะสามารถขยายไปยังองค์ประกอบมากกว่าหนึ่งตัวอย่างเช่นกับทุกคนที่ใช้คลาสเพียงแค่เปลี่ยนตัวเลือก

การสาธิต (โปรดทราบว่าฉันต้องเลือก jQuery ในเมนูทางด้านซ้ายของหน้าต่าง jsfiddle)




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


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

var res = str.split(" ");

นี่คือตัวแปร "res" เป็นชนิดของอาร์เรย์

คุณยังสามารถอธิบายได้ด้วยการประกาศว่าเป็น

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

ตอนนี้คุณสามารถเข้าถึงแต่ละคำของอาเรย์ สมมติว่าคุณต้องการเข้าถึงองค์ประกอบที่สามของอาเรย์ที่คุณสามารถใช้ได้โดยการทำดัชนีองค์ประกอบอาเรย์

var FirstElement= res[0];

ตอนนี้ตัวแปร FirstElement มีค่า 'อย่างไร'

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.