Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

ออบเจ็กต์ Bdo ใน HTML DOM

ออบเจ็กต์ Bdo (Bdo Object)

ออบเจ็กต์ Bdo ใน HTML DOM เกี่ยวข้องกับอิลิเมนต์ <bdo> ใน HTML คำว่า BDO ย่อมาจาก Bi-Directional Override ใช้สำหรับสร้างและเข้าถึง bdo object มีคุณสมบัติเพียงอย่างเดียวคือ dir ทิศทางข้อความค่าเริ่มต้นคือซ้ายไปขวา (LTR) แต่สามารถลบล้างได้ด้วย <bdo> element

คุณสมบัติ (Properties)

คุณสมบัติ คำอธิบาย
dirตั้งค่าหรือคืนค่าของแอตทริบิวต์ dir ของอิลิเมนต์ <bdo>

ไวยากรณ์ (Syntax)

การสร้าง bdo object

var a = document.createElement("BDO");

การเข้าถึง bdo object

var a = document.getElementById("demoBdo");

ตัวอย่างการใช้งาน

ตัวอย่างด้านล่างแสดงการสร้าง <bdo> แบบไดนามิกพร้อมทิศทางขวาไปซ้าย (RTL)

<!DOCTYPE html>
<html>
<body>
    <p>Click the below button to create bdo element with text from right to left</p>
    <button onclick="bdoCreate()">CREATE</button>
    <button onclick="getDirection()">GET DIRECTION</button>
    <br><br>
    <p id="Sample"></p>
    <script>
        function bdoCreate() {
            var x = document.createElement("BDO");
            var t = document.createTextNode("RIGHT TO LEFT");
            x.setAttribute("dir", "rtl");
            x.setAttribute("id", "myBDO");
            x.appendChild(t);
            document.body.appendChild(x);
        }
        function getDirection() {
            var x = document.getElementById("myBDO").dir;
            document.getElementById("Sample").innerHTML = "The direction is from " + x;
        }
    </script>
</body>
</html>

ผลลัพธ์

เริ่มต้น: แสดงปุ่ม 2 ปุ่ม

คลิก CREATE: สร้างข้อความ "RIGHT TO LEFT" แสดงจากขวาไปซ้าย

คลิก GET DIRECTION: แสดง "The direction is from rtl"

คำอธิบายเพิ่มเติม

  • <bdo> ใช้แทรกทิศทางข้อความ (override bidirectional algorithm)
  • ค่า dir ที่เป็นไปได้: ltr (left-to-right), rtl (right-to-left)
  • แอตทริบิวต์ dir เป็นบังคับสำหรับ <bdo>
  • ใช้สำหรับภาษาที่อ่านขวาไปซ้าย: อาหรับ, ฮีบรู, เฟอร์สี, อูร์ดู
  • ต่างจาก <bdi> (Bi-Directional Isolation) ที่แยกทิศทางข้อความภายใน
  • สามารถใช้ CSS direction: rtl; และ unicode-bidi: bidi-override; แทนได้