$("input").attr("disabled", true);
ณ ... ฉันไม่รู้อะไรอีกแล้ว
เป็นเดือนธันวาคม 2556 และฉันไม่รู้จะบอกอะไรคุณ
ก่อนอื่นมันก็เป็นแบบ.attr()
นั้นเสมอ.prop()
ดังนั้นฉันกลับมาที่นี่เพื่อปรับปรุงคำตอบและทำให้มันแม่นยำยิ่งขึ้น
จากนั้นอีกหนึ่งปีให้หลัง jQuery เปลี่ยนใจพวกเขาอีกครั้งและฉันไม่ต้องการแม้แต่จะติดตามเรื่องนี้
เรื่องสั้นสั้น ๆ ณ ตอนนี้นี่เป็นคำตอบที่ดีที่สุด: "คุณสามารถใช้ทั้ง ... แต่มันขึ้นอยู่กับ"
คุณควรอ่านคำตอบนี้แทน: https://stackoverflow.com/a/5876747/257493
และบันทึกประจำรุ่นสำหรับการเปลี่ยนแปลงนั้นรวมอยู่ที่นี่:
ไม่ควรใช้ .attr () หรือ. prop () สำหรับการรับ / การตั้งค่า ใช้เมธอด .val () แทน (แม้ว่าจะใช้. atr ("value", "somevalue") จะทำงานต่อไปได้เหมือนเดิมก่อน 1.6)
สรุปการใช้งานที่ต้องการ
ควรใช้เมธอด .prop () สำหรับคุณสมบัติ / คุณสมบัติบูลีนและสำหรับคุณสมบัติที่ไม่มีอยู่ใน html (เช่น window.location) แอตทริบิวต์อื่น ๆ ทั้งหมด (สิ่งที่คุณเห็นใน html) สามารถและควรได้รับการจัดการด้วยวิธีการ. attr ()
หรือในคำอื่น ๆ :
".prop = สิ่งที่ไม่ใช่เอกสาร"
".attr" = รายการเอกสาร
... ...
ขอให้เราทุกคนเรียนรู้บทเรียนที่นี่เกี่ยวกับความเสถียรของ API ...