Solved

Javascript childNodes problem

Posted on 2009-07-02
3
1,127 Views
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]) ){ 
			remove_control(editables[i]); 
		}
	}
}
 
function test(){ var element = editables[i];
	for(i=0; i<editables.length; i++){
		if ( !HasChange(editables[i]) ){ 
			remove_control(element); 
		}
	}
}

Open in new window

0
Comment
Question by:Angelblade
  • 2
3 Comments
 
LVL 75

Accepted Solution

by:
Michel Plungjan earned 250 total points
ID: 24762540
0
 

Author Comment

by:Angelblade
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?
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 24764521
No.
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I've been trying to accomplish this for a while and it just struck me yesterday how to accomplish this task. I have done searches all over the internet looking for ways to email pages from my applications and finally I have done it!!! Every single s…
In Part 1 (http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/A_7849-Hex-Maze.html) we covered the hexagonal maze basics -- how the cells are represented in a JavaScript array and how the maze is displayed.  In this part, we'…
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…

808 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