การตั้งค่าแอตทริบิวต์ <label> "สำหรับ" HTML ใน JavaScript


86

คุณตั้งค่าforแอตทริบิวต์ของ<label>องค์ประกอบHTML ใน JavaScript โดยไม่ใช้ jQuery หรือไลบรารีอื่น ๆ ได้อย่างไร

คำตอบ:


138

ใช้htmlForแอตทริบิวต์ ฉันคิดว่ามันมีชื่อที่คลุมเครือเล็กน้อยเนื่องจากforเป็นคำหลักใน JavaScript:

var label = document.createElement('label');
label.htmlFor = 'some-input-id';

แค่ใช้ setAttribute ไม่ดีกว่าเหรอ
Dmitri Farkov

1
@DmitriFarkov ฉันไม่คิดอย่างนั้น จะดีกว่าทำไม
Drew Noakes

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

16
DOM ทำงานร่วมกับวัตถุและคุณสมบัติตามแนวคิด htmlForเป็นวิธีที่ถูกต้องโดยการตั้งค่าคุณสมบัติขององค์ประกอบ DOM ไม่จำเป็นต้องยุ่งกับคุณลักษณะที่เป็นสิ่งที่setAttributeทำ
FabrícioMatté

หวังว่าฉันจะโหวตให้เป็นสองเท่า ฉันใช้ Angular 2 เพื่อสร้างแบบฟอร์มและจำเป็นต้องอัปเดตป้ายกำกับสำหรับแอตทริบิวต์แบบไดนามิก [for] เกิดข้อผิดพลาดขึ้น แต่ [htmlFor] ทำงานได้ผล ขอขอบคุณ!
cbros2008
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.