Home  >  Article  >  Web Front-end  >  Different performances of javascript setAttribute, getAttribute on different browsers_javascript skills

Different performances of javascript setAttribute, getAttribute on different browsers_javascript skills

PHP中文网
PHP中文网Original
2016-05-16 18:21:381283browse

Test environment (client browser)
IE6, IE7, IE8 compatibility mode, IE8
Firefox 3.6.8, google chrome 5.0.375.125

First explain the standards of the two functions definition.
elementNode.setAttribute(name,value)
name required. Specifies the attribute name to be set.
value required. Specifies the attribute value to be set.
This method sets the specified attribute to the specified value. If a property with the specified name does not exist, this method creates a new property.

elementNode.getAttribute(name)
name required. Specifies the attribute from which the attribute value is obtained.

1. Problems with setAttribute
elementNode is...

I hope to add an event handler for clicking the row,
Writing 1:

table1row1.setAttribute("onclick", "selectrow1(this)");


IE8, Firefox, and google chrome can correctly trigger the click event
IE6, but IE7 cannot trigger the click event.
Writing 2:

table2row1.onclick = function() { selectrow2(this) };

All test browsers can trigger click events

So in order to be compatible in different IEs, we can use the following statements uniformly.

table2row1.onclick = function() { selectrow2(this) };

2. Problems with getAttribute
elementNode is...
First set the attribute with setAttribute
table1row1.setAttribute("level", 1);
Use getAttribute to get the attribute value of the label
var level = table1row1.getAttribute("level");
alert("table1row1 level:" level "rntypeof(level) = " (typeof (level) ).toString());
Displayed in IE6 and 7

table1row1 level:1
typeof(level) = number

In IE8, Firefox, google



table1row1 level:1
typeof(level) = string
is displayed in chrome to handle these two situations uniformly, and the code is unified As follows:

The code is as follows:

var level = table1row1.getAttribute("level"); 
if (level === undefined || level == null) { 
level = "0"; 
} 
level = level.toString(); 
if (level.trim() == "") { 
level = "0"; 
}

or use the ajax method
$addHandler is Sys. A shortcut to UI.DomEvent.addHandler, its syntax is:
$addHandler(element, eventName, handler);
element is the DOM element that exposes the event.
eventName The name of the event.
handler The event handler to add.
The previous statement can be written like this:
$addHandler(row,"click", function() { selectrow(this) });

The code is as follows:

 
 
 
Test 
 
 
 
table1
No. Item
1 2C.40E80.041
2 4L.013Y2.003

table2
No. Item
1 4G.0QE18.001
2 2K.61209.208

The above is the different performances of javascript setAttribute and getAttribute on different browsers_javascript skills, more For related content, please pay attention to the PHP Chinese website (www.php.cn)!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn