เป็นไปได้หรือไม่ที่จะลบคุณสมบัติ CSS ขององค์ประกอบโดยใช้ JavaScript เช่นฉันมีdiv.style.zoom = 1.2
ตอนนี้ฉันต้องการลบคุณสมบัติการซูมผ่าน JavaScript หรือไม่
เป็นไปได้หรือไม่ที่จะลบคุณสมบัติ CSS ขององค์ประกอบโดยใช้ JavaScript เช่นฉันมีdiv.style.zoom = 1.2
ตอนนี้ฉันต้องการลบคุณสมบัติการซูมผ่าน JavaScript หรือไม่
คำตอบ:
คุณมีสองทางเลือก:
ตัวเลือกที่ 1:
คุณสามารถใช้วิธีการ removeProperty มันจะลบสไตล์ออกจากองค์ประกอบ
el.style.removeProperty('zoom');
ตัวเลือก 2:
คุณสามารถตั้งค่าเป็นค่าเริ่มต้น:
el.style.zoom = "";
การซูมที่มีประสิทธิภาพจะเป็นสิ่งที่ตามมาจากคำจำกัดความที่กำหนดไว้ในสไตล์ชีท ดังนั้นไวยากรณ์นี้จะแก้ไขรูปแบบท้องถิ่นขององค์ประกอบนี้เท่านั้น
removePropertyจะลบสไตล์ออกจากองค์ประกอบ
ตัวอย่าง:
div.style.removeProperty ( 'ซูม');
หน้าเอกสาร MDN:
CSSStyleDeclaration.removeProperty
div.style.removeProperty('zoom');
คุณสามารถใช้วัตถุ styleSheets:
document.styleSheets[0].cssRules[0].style.removeProperty("zoom");
Caveat # 1: คุณต้องรู้ดัชนีของสไตล์ชีทและดัชนีของกฎของคุณ
Caveat # 2: วัตถุนี้มีการใช้งานไม่สอดคล้องกันโดยเบราว์เซอร์; สิ่งที่ใช้งานได้ในหนึ่งอาจไม่ทำงานในที่อื่น
CSSStyleRule.prototype.removeProperty
= (อันที่จริงCSSStyleRule
ไม่มีวิธีใด ๆ = (
CSSStyleSheet.prototype.removeRule
ช่วยเหลือ.
CSSStyleSheet.prototype.deleteRule
ใช่มั้ย
คุณสามารถลองค้นหาองค์ประกอบทั้งหมดที่มีคลาสนี้และตั้งค่าคุณสมบัติ "ซูม" เป็น "ไม่มีอะไร"
หากคุณใช้ไลบรารี jQuery javascript คุณสามารถทำได้ด้วย $(".the_required_class").css("zoom","")
แก้ไข: นำคำสั่งนี้ออกเนื่องจากไม่เป็นความจริงตามที่ระบุไว้ในความคิดเห็นและคำตอบอื่น ๆ ซึ่งเป็นไปได้จริงตั้งแต่ปี 2010
False: ไม่มีวิธีที่รู้จักกันโดยทั่วไปสำหรับการแก้ไขสไตล์ชีทจาก JavaScript
css
ไม่ใช่attr
คุณพูดถูก
คุณสามารถทำได้ใน jQuery โดยพูด $(selector).css("zoom", "")
สิ่งนี้ควรทำเคล็ดลับ - การตั้งค่ารูปแบบอินไลน์เป็นปกติสำหรับการซูม:
$ ('div'). attr ("style", "zoom: normal;");
จริง ๆ แล้วถ้าคุณรู้คุณสมบัตินี้แล้วจะทำ ...
ตัวอย่างเช่น:
<a href="test.html" style="color:white;zoom:1.2" id="MyLink"></a>
var txt = "";
txt = getStyle(InterTabLink);
setStyle(InterTabLink, txt.replace("zoom\:1\.2\;","");
function setStyle(element, styleText){
if(element.style.setAttribute)
element.style.setAttribute("cssText", styleText );
else
element.setAttribute("style", styleText );
}
/* getStyle function */
function getStyle(element){
var styleText = element.getAttribute('style');
if(styleText == null)
return "";
if (typeof styleText == 'string') // !IE
return styleText;
else // IE
return styleText.cssText;
}
โปรดทราบว่านี่ใช้งานได้กับสไตล์อินไลน์เท่านั้น ... ไม่ใช่สไตล์ที่คุณระบุผ่านคลาสหรือบางอย่างเช่น ...
หมายเหตุอื่น ๆ : คุณอาจต้องหลบหนีอักขระบางตัวในคำสั่งแทนที่ แต่คุณจะได้รับแนวคิด
ในการเปลี่ยนคลาสทั้งหมดสำหรับองค์ประกอบให้ทำดังนี้
document.getElementById("ElementID").className = "CssClass";
ในการเพิ่มคลาสเพิ่มเติมให้กับองค์ประกอบให้ทำดังนี้
document.getElementById("ElementID").className += " CssClass";
วิธีตรวจสอบว่ามีการใช้คลาสกับองค์ประกอบหรือไม่:
if ( document.getElementById("ElementID").className.match(/(?:^|\s)CssClass(?!\S)/) )