मैं इस उत्तर दिया गया है पता है, लेकिन ओ पी कैसे शैली जावास्क्रिप्ट के जरिए बदल गया था कि बहाल करने के लिए कहा है। दूसरे शब्दों में, मैं अपने तत्व की शैली को कैसे पुनर्स्थापित कर सकता हूं इससे पहले कि यह किसी और चीज से बदल गया हो। मुझे खेद है, लेकिन मुझे नहीं लगता कि ऊपर दिए गए उत्तर ऐसा करते हैं। उत्तर शैली को हटाएं, को पुनर्स्थापित नहीं करें!
मैं जितना कर सकता हूं उतना सीएसएस का उपयोग करता हूं और मैंने एक तत्व पर एक नई सीएसएस शैली को "परत" करने का तरीका प्रबंधित किया है और मूल/डिफ़ॉल्ट शैली को प्रकट करते हुए परत को आवश्यकतानुसार हटा दिया है।
चलें 'मान मैं निम्नलिखित सीएसएस के साथ एक gridview है ...
table.gvCSS {
margin-top: 50px;
font: 12px Verdana;
}
table.gvCSS > tbody > tr {
background-color: white;
}
table.gvCSS > tbody > tr:nth-of-type(odd) {
background-color: #EEE;
}
table.gvCSS > tbody > tr:first-of-type {
background-color: #5D7B9D;
color: white;
}
table.gvCSS > tbody > tr.selected-row {
background-color: yellow;
}
मेरे GridView ...
<asp:GridView ID="gvTETstudents" runat="server"
CssClass="gvCSS">
<Columns>
....
...
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="Orange" Font-Bold="True" ForeColor="Black" VerticalAlign="Bottom" />
</asp:GridView>
इन छोटी कार्यों नियंत्रण जोड़ने और वर्गों को हटाने के रूप में मैं उन्हें जरूरत ...
function hasClass(ele,cls) {
return !!ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
if (!hasClass(ele,cls)) ele.className += " "+cls;
}
function removeClass(ele,cls) {
if (hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
function highlightRow(chk) {
var row = chk.parentNode.parentNode.parentNode;
if (chk.checked)
addClass(row, 'selected-row');
else
removeClass(row, 'selected-row');
}
तो जब कभी मुझे पंक्ति पृष्ठभूमि को टॉगल करने की आवश्यकता होती है उदाहरण के लिए ...
<asp:CheckBox ID="cbSKIP" runat="server"
Font-Size="10pt" Font-Italic="true" ForeColor="DarkGreen" BackColor="Yellow"
onClick="highlightRow(this)"
ToolTip="Choosing this will save the comment into the student's contact-log, but not actually email it!"
Text="SAVE TO CONTACT-LOG ONLY (no email)?" />
कोई फर्क नहीं पड़ता शैलियों आप मूल पंक्ति में था, इसके बाद के संस्करण एक नई शैली लागू करते हैं और से हट जाएगा खुलासा क्या आप मूल रूप से किया था (यानी: एक वैकल्पिक फैशन में gridview के पंक्तियों की टॉगल)।
यह उत्तर मेरा से बेहतर है। – jessegavin
@jessegavin अच्छी तरह से आपका उत्तर भी सही है - यदि तत्व इनलाइन सीएसएस के साथ स्टाइल किया गया है तो इसे सहेजना होगा। – Pointy
स्पष्ट रूप से यह jQuery के "एनिमेट" के साथ काम नहीं करता है। –