Discussion article on using runtimeStyle attribute_javascript skills
When we use the DOM provided by IE in IE, we will find that there are three groupings of style-related attributes, which are style, runtimeStyle and currentStyle. I have talked about the functions and basic uses of these three styles in this article, but with more and more in-depth use, I finally have some insights on how to use the runtimeStyle attribute.
First of all, the runtimeStyle attribute is not necessary. Its existence is even far less meaningful than currentStyle, because due to the limitations of IE layout and rendering principles, there are always some definitions in the style attribute that cannot be synchronized with currentStyle. What does it mean? For example, if we do not set the line-height or table-layout style attributes of the TR element, we cannot get table rows of any height. Even if you try to write 100 style="height: 1px", it will have no effect. At this time, although the height of style is 1px, the height of currentStyle is still the actual height of the table. Firefox does not provide runtimeStyle and currentStyle. I wonder how it can solve this out-of-synchronization problem? Will it reverse synchronize the style attributes that cannot be expressed?
So, to put it bluntly, the runtimeStyle attribute is used to add icing on the cake. So are there any functions or effects that can only be accomplished using runtimeStyle? If you have it, you have to ask for it. For example, the Invert page color function of this blog can only be achieved by using the runtimeStyle attribute. In addition, since the setting of the runtimeStyle attribute does not need to be synchronized to the style, nor will it be synchronized, it should be more efficient to use runtimeStyle to modify the style of the element. However, this desynchronization also brings about a relatively hidden problem. If we always operate the dom, there is no problem using runtimeStyle and currentStyle. However, if we intersperse the use of DHTML features in the implementation, such as reading and writing innerHTML or reading outerHTML attributes . At this time, the problem of out-of-sync style came out, and I was very depressed when I accidentally encountered it, because the program would not have any running errors, but no matter how I tried it, it would not have the expected effect.
Summary 1: The runtimeStyle attribute must be used in pairs, that is, element.runtimeStyle.xxx = 'attribue'; and element.runtimeStyle.xxx = '';. If you can clearly write element.style.xxx = 'attribue1'; and element.style.xxx = 'attribue2';, then there is no need to use runtimeStyle. Mixing style and runtimeStyle in the same element should be prohibited. Since style and runtimeStyle have different coverage priorities, some inexplicable problems will occur if they are mixed carelessly, which will only increase the trouble and difficulty of debugging.
Summary 2: Do not use the runtimeStyle attribute in a programming environment with innerHTML and outerHTML operations, otherwise you will be depressed to death if you are not careful. Because the modification of runtimeStyle will not be synchronized to the style in HTML, this problem will be similar to the problem mentioned above of mixing style and runtimeStyle in the same element.
Of course, mixing is used when it is first implemented. Programmers know very clearly that generally there will be no big mistakes. However, such code will cause serious errors in later debugging and updates. Hidden danger.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











JavaScript is the cornerstone of modern web development, and its main functions include event-driven programming, dynamic content generation and asynchronous programming. 1) Event-driven programming allows web pages to change dynamically according to user operations. 2) Dynamic content generation allows page content to be adjusted according to conditions. 3) Asynchronous programming ensures that the user interface is not blocked. JavaScript is widely used in web interaction, single-page application and server-side development, greatly improving the flexibility of user experience and cross-platform development.

The latest trends in JavaScript include the rise of TypeScript, the popularity of modern frameworks and libraries, and the application of WebAssembly. Future prospects cover more powerful type systems, the development of server-side JavaScript, the expansion of artificial intelligence and machine learning, and the potential of IoT and edge computing.

Different JavaScript engines have different effects when parsing and executing JavaScript code, because the implementation principles and optimization strategies of each engine differ. 1. Lexical analysis: convert source code into lexical unit. 2. Grammar analysis: Generate an abstract syntax tree. 3. Optimization and compilation: Generate machine code through the JIT compiler. 4. Execute: Run the machine code. V8 engine optimizes through instant compilation and hidden class, SpiderMonkey uses a type inference system, resulting in different performance performance on the same code.

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

JavaScript is the core language of modern web development and is widely used for its diversity and flexibility. 1) Front-end development: build dynamic web pages and single-page applications through DOM operations and modern frameworks (such as React, Vue.js, Angular). 2) Server-side development: Node.js uses a non-blocking I/O model to handle high concurrency and real-time applications. 3) Mobile and desktop application development: cross-platform development is realized through ReactNative and Electron to improve development efficiency.

This article demonstrates frontend integration with a backend secured by Permit, building a functional EdTech SaaS application using Next.js. The frontend fetches user permissions to control UI visibility and ensures API requests adhere to role-base

I built a functional multi-tenant SaaS application (an EdTech app) with your everyday tech tool and you can do the same. First, what’s a multi-tenant SaaS application? Multi-tenant SaaS applications let you serve multiple customers from a sing

The shift from C/C to JavaScript requires adapting to dynamic typing, garbage collection and asynchronous programming. 1) C/C is a statically typed language that requires manual memory management, while JavaScript is dynamically typed and garbage collection is automatically processed. 2) C/C needs to be compiled into machine code, while JavaScript is an interpreted language. 3) JavaScript introduces concepts such as closures, prototype chains and Promise, which enhances flexibility and asynchronous programming capabilities.
