Created
February 29, 2012 13:19
-
-
Save deyvin/1940786 to your computer and use it in GitHub Desktop.
Inspect Element With javaScript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function inspect(obj, maxLevels, level) | |
{ | |
var str = '', type, msg; | |
// Start Input Validations | |
// Don't touch, we start iterating at level zero | |
if(level == null) level = 0; | |
// At least you want to show the first level | |
if(maxLevels == null) maxLevels = 1; | |
if(maxLevels < 1) | |
return '<font color="red">Error: Levels number must be > 0</font>'; | |
// We start with a non null object | |
if(obj == null) | |
return '<font color="red">Error: Object <b>NULL</b></font>'; | |
// End Input Validations | |
// Each Iteration must be indented | |
str += '<ul>'; | |
// Start iterations for all objects in obj | |
for(property in obj) | |
{ | |
try | |
{ | |
// Show "property" and "type property" | |
type = typeof(obj[property]); | |
str += '<li>(' + type + ') ' + property + | |
( (obj[property]==null)?(': <b>null</b>'):('')) + '</li>'; | |
// We keep iterating if this property is an Object, non null | |
// and we are inside the required number of levels | |
if((type == 'object') && (obj[property] != null) && (level+1 < maxLevels)) | |
str += inspect(obj[property], maxLevels, level+1); | |
} | |
catch(err) | |
{ | |
// Is there some properties in obj we can't access? Print it red. | |
if(typeof(err) == 'string') msg = err; | |
else if(err.message) msg = err.message; | |
else if(err.description) msg = err.description; | |
else msg = 'Unknown'; | |
str += '<li><font color="red">(Error) ' + property + ': ' + msg +'</font></li>'; | |
} | |
} | |
// Close indent | |
str += '</ul>'; | |
return str; | |
} | |
/*------------------ usage ------------------------------*/ | |
var myObject = [{title: 'foo', name: 'bar'}, {title: 'foo', name: 'bar'}] | |
document.write(inspect(myObject)); | |
/* Credit: http://www.codeproject.com/Articles/24549/How-to-Inspect-a-JavaScript-Object */ |
<script src="https://gist.github.com/deyvin/1940786.js"></script>
<script src="https://gist.github.com/deyvin/1940786.js"></script>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
How to use ? First time