Javascript childNodes problem

Posted on 2009-07-02
Medium Priority
Last Modified: 2012-05-07
Hi I will try to explain my problem:

I have a function: getChild() that returns the childnodes of an element exept the child with nodetype == 3.

I have an other function: HasChange() that use getChild() to find the firstChild ( here in var div ) and the second child ( here in var input ) and return if the div.innerHTML and input.value are différent or not.

All works great but when i use the both function in my third function: test() a strange thing happened.
HasChange() return the value expected but I lost the content of editables[i] that becomes undefined.
 So I get an error in the remove_control() function that have lost the argument editables[i].

If i run the function test2() all works great, but i find stupid to save editables[i] in the element var just to escape this strange behavior after the element is passed to HasChange();

Thanks for your help.
Object.prototype.getChild = function getChild(){
	var array = this.childNodes; var Childs = Array(); var j=0;
	for(i=0;i<array.length;i++){ if (array[i].nodeType != 3){ Childs[j] = array[i]; j++; } }
	return Childs;
function HasChange(element){
	var div = element.getChild()[0].getChild()[0];
	var input = element.getChild()[0].getChild()[1];
	return ( div.innerHTML == input.value ) ? false : true;
function test(){
	for(i=0; i<editables.length; i++){
		if ( !HasChange(editables[i]) ){ 
function test(){ var element = editables[i];
	for(i=0; i<editables.length; i++){
		if ( !HasChange(editables[i]) ){ 

Open in new window

Question by:Angelblade
  • 2
LVL 75

Accepted Solution

Michel Plungjan earned 750 total points
ID: 24762540

Author Comment

ID: 24764223
Okay, for sure this is a better way to do :)

But if I have to use the same way to programm for an other utility, any idea why I lost the element passed to HasChange() in this example?
LVL 75

Expert Comment

by:Michel Plungjan
ID: 24764521

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

This article discusses how to create an extensible mechanism for linked drop downs.
In this blog, we’ll look at how improvements to Percona XtraDB Cluster improved IST performance.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question