ง่ายต่อการตั้งค่า CSS แบบอินไลน์ด้วยจาวาสคริปต์ หากฉันต้องการเปลี่ยนความกว้างและมี html ดังนี้:
<div style="width: 10px"></div>
สิ่งที่ฉันต้องทำคือ:
document.getElementById('id').style.width = value;
มันจะเปลี่ยนค่าสไตล์ชีตแบบอินไลน์ โดยปกตินี่ไม่ใช่ปัญหาเนื่องจากสไตล์อินไลน์จะแทนที่สไตล์ชีต ตัวอย่าง:
<style>
#tId {
width: 50%;
}
</style>
<div id="tId"></div>
การใช้ Javascript นี้:
document.getElementById('tId').style.width = "30%";
ฉันได้รับสิ่งต่อไปนี้:
<style>
#tId {
width: 50%;
}
</style>
<div id="tId" style="width: 30%";></div>
นี่เป็นปัญหาเพราะไม่เพียง แต่ฉันไม่ต้องการเปลี่ยนค่าอินไลน์เท่านั้นหากฉันมองหาความกว้างก่อนที่จะตั้งค่าเมื่อฉันมี:
<div id="tId"></div>
ค่าที่ส่งคืนเป็น Null ดังนั้นหากฉันมี Javascript ที่ต้องการทราบความกว้างของบางสิ่งเพื่อทำตรรกะบางอย่าง (ฉันเพิ่มความกว้างขึ้น 1% ไม่ใช่ค่าเฉพาะ) จะกลับเป็น Null เมื่อฉันคาดหวังสตริง "50% "ใช้ไม่ได้จริงๆ.
ดังนั้นคำถามของฉัน: ฉันมีค่าในสไตล์ CSS ที่ไม่ได้อยู่ในบรรทัดฉันจะรับค่าเหล่านี้ได้อย่างไร ฉันจะแก้ไขสไตล์แทนค่าแบบอินไลน์โดยให้ id ได้อย่างไร