- Home
- Products
- Integration
- Tutorial
- Barcode FAQ
- Purchase
- Company
Scripting Imported Style Sheets in Java
Scripting Imported Style Sheets Data Matrix 2d Barcode Encoder In Java Using Barcode creation for Android Control to generate, create Data Matrix image in Android applications. www.OnBarcode.comEncoding QR In Java Using Barcode drawer for Android Control to generate, create QR Code ISO/IEC18004 image in Android applications. www.OnBarcode.comNow then, what if you want to script an imported style sheet In other words, say you want to script one included with an @import directive. First, save eight.html as running_copy.html; then, replace the <link> element with a <style> element that imports eight.css like so: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Scripting CSS</title> <style type="text/css"> @import url(eight.css); </style> </head> <body> <div id="running"> <h4>Running</h4> <ul class="blue"> <li><a id="adidas" href="http://www.adidas.com">adidas</a></li> <li><a id="asics" href="http://www.asics.com">ASICS</a></li> <li><a id="brooks" href="http://www.brooksrunning.com">Brooks</a></li> <li><a id="newBalance" href="http://www.newbalance.com">New Balance</a></li> <li><a id="nike" href="http://www.nike.com">Nike</a></li> Drawing USS-128 In Java Using Barcode generation for Android Control to generate, create GS1-128 image in Android applications. www.OnBarcode.comCode 128B Generation In Java Using Barcode generation for Android Control to generate, create Code128 image in Android applications. www.OnBarcode.comCHAPTER 8 SCRIPTING CSS
Barcode Printer In Java Using Barcode creator for Android Control to generate, create Barcode image in Android applications. www.OnBarcode.comEncoding UPCA In Java Using Barcode encoder for Android Control to generate, create GS1 - 12 image in Android applications. www.OnBarcode.com<li><a id="saucony" href="http://www.saucony.com">Saucony</a></li> </ul> </div> </body> </html> As noted earlier in the day, an @import rule does not have a selectorText or style member. The reason for this is that an @import rule does not implement the CSSStyleRule interface but instead implements CSSImportRule. This interface provides three members: href media styleSheet StyleSheet refers the imported style sheet. So if we want to change left to 500px for the running <div>, we can do so by entering and running the following in Firebug: document.getElementsByTagName("style")[0].sheet.cssRules[0].styleSheet.cssRules[2].style.left = "500px"; This works for Firefox, Safari, and Opera. But it doesn t work for Internet Explorer, which does not implement CSSImportRule. Rather, for a <style> or <link> element, styleSheet.imports contains a collection of imported style sheets. So, we would rework the previous sample like so: document.getElementsByTagName("style")[0].styleSheet.imports[0].rules[2].style.left = "500px"; Generate GS1 - 13 In Java Using Barcode printer for Android Control to generate, create EAN13 image in Android applications. www.OnBarcode.comBritish Royal Mail 4-State Customer Barcode Drawer In Java Using Barcode printer for Android Control to generate, create British Royal Mail 4-State Customer Barcode image in Android applications. www.OnBarcode.comAdding or Deleting a Rule
Drawing ECC200 In None Using Barcode encoder for Microsoft Word Control to generate, create Data Matrix 2d barcode image in Microsoft Word applications. www.OnBarcode.comData Matrix ECC200 Reader In C#.NET Using Barcode recognizer for Visual Studio .NET Control to read, scan read, scan image in Visual Studio .NET applications. www.OnBarcode.comNow then, what if you want to dynamically determine the numeric index of a rule cross-browser Can it be done Yup. But why would you want to know a rule s index A couple reasons: to add a rule or delete one. So, before we try explore those operations, let s figure out how to determine the numeric index of a rule regardless of the visitor s browser. Insofar as this is something we will want to frequently do, you probably know what I am going to say. Right, let s code a helper function. So, delete running_copy.html and reload eight.html in Firebug. Then key in the following function, which differs from findRule() in just two ways: First, it returns the loop variable i rather than a CSSStyleRule object. i will be the index of the desired rule. That was painless. Second, to convey failure in the event no rule in the style sheet has the selector we gave findIndex() to work with, the return value will be undefined rather than null. Why findIndex() ought to return a number. Those are stored on the stack, and undefined conveys no value on the stack. On the other hand, findRule() ought to return a object. Those are stored on the heap, and null conveys no value on the heap. You forgot about all that, didn t you Draw Matrix 2D Barcode In Java Using Barcode creator for Java Control to generate, create Matrix 2D Barcode image in Java applications. www.OnBarcode.comDrawing GTIN - 12 In VS .NET Using Barcode drawer for Reporting Service Control to generate, create UPCA image in Reporting Service applications. www.OnBarcode.comfunction findIndex(element, selector) { var sheet = element.sheet || element.styleSheet; var rules = sheet.cssRules || sheet.rules; selector = selector.toLowerCase() for (var i = rules.length - 1; i > -1; i --) { if (rules[i].selectorText && rules[i].selectorText.toLowerCase() === selector) { return i; } } Barcode Recognizer In VB.NET Using Barcode Control SDK for VS .NET Control to generate, create, read, scan barcode image in .NET applications. www.OnBarcode.comPainting Matrix Barcode In Visual C# Using Barcode encoder for VS .NET Control to generate, create 2D image in VS .NET applications. www.OnBarcode.comCHAPTER 8 SCRIPTING CSS
Generate Barcode In VS .NET Using Barcode creation for .NET Control to generate, create Barcode image in .NET framework applications. www.OnBarcode.comMake UPC-A Supplement 2 In None Using Barcode generator for Software Control to generate, create Universal Product Code version A image in Software applications. www.OnBarcode.com} Let s see whether findIndex() works as planned. Refresh Firefox to revert the sprite to blue. Then pass in "a#adidas" for selector, and click Run. Since that is the tenth rule in eight.css, the return value ought to be 9 because JavaScript numbers them beginning with 0. Verify your work with Figure 8 10. function findIndex(element, selector) { var sheet = element.sheet || element.styleSheet; var rules = sheet.cssRules || sheet.rules; selector = selector.toLowerCase() for (var i = rules.length - 1; i > -1; i --) { if (rules[i].selectorText && rules[i].selectorText.toLowerCase() === selector) { return i; } } } findIndex(document.getElementById("spriteStyles"), "a#adidas"); // 9 Encode 1D In .NET Using Barcode creation for ASP.NET Control to generate, create Linear Barcode image in ASP.NET applications. www.OnBarcode.comGenerating EAN / UCC - 14 In None Using Barcode printer for Online Control to generate, create GS1 128 image in Online applications. www.OnBarcode.comFigure 8 10. Finding the numeric index of the rule with the "a#adidas" selector with findIndex() Generate USS Code 39 In None Using Barcode generation for Word Control to generate, create Code 39 Full ASCII image in Office Word applications. www.OnBarcode.comReading DataMatrix In None Using Barcode recognizer for Software Control to read, scan read, scan image in Software applications. www.OnBarcode.com |
|