function getParentElementByTagName(child, TagName){ var cn; if (child.parentElement){ cn = child.parentElement; if (child.parentElement.tagName == TagName){ return cn; }else{ getParentElementByTagName(child.parentElement, TagName); }}}
although it finds the element, the function returns null ( on the line 'return cn', cn is not null though). Is my algorithm wrong ?
How would you go about writing a function that returns a string that outputs a branched bulleted list using <ul> and <li> tags of all the html elements in a page? The html elements don't all have id's or names, so I cannot reference them directly. I would like to do it recursively so that I can grab all the elements, not just those two or three levels deep.
I have a string "ajrdvbfomfkswkmbncrfu" where the 3 letters b,k and f can be in three forms: b,b',b" and k,k',k" and f,f',f".I want to find ALL the possible string combinations.Is there a simple way to do that in JavaScript? (probably with several for loops)
Ex: Hera are 5 combinations: ajrdvb"fomfkswk'mbncrfu ajrdvb'fomfkswkmbncrfu
The function is supposed to identify nested folders in a hierarchical folder structure.
The function "searchForFolders()" is supposed to traverse sibling nodes in each iteration, and for each sibling node, it calls itself again, to see if there are child nodes of the current sibling.
The code below contains the function in question. For simplicity's sake, I have replaced the images with text characters. It doesn't look as good, but you should be able to see how the nesting works. When you click on a "Folder", you will get debug text on the RHS of the screen.
You will see there is an XML hierarchy. That is parsed by another function in the page to write out the hierarchy. That is working fine. The only functions that I am having trouble with are "searchForFolders()" and "hideShowFolder()". Code:
I'm calling a recursive function, and I want to display an alert after its done running, the thing the function is "done" after goes through it once.Here's the coles notes version....
Code:
function yay(n){ n = n-1; if(n=0){
[code]....
I don't want it to show the alert until its done all of it's recursive splendor.
I am coding an AJAX DHTML whatever application and I was fed up with always typing a lot of appendChild() functions.
I created a custom one called append_children() and wanted to share it if anyone need such a function.
function append_children() { var a = append_children.arguments; for ( var i = a.length - 1; i > 0 ; i-- ) { try { a[i-1].appendChild(a[i]); } catch(e) { for ( var j = 0; j < a[i].length; j++ ) { append_children(a[i-1], a[i][j]); }}}}
I have written a function that works but it is recursive so ends up blowing the browser stack.I have seen a few examples of converting recursive functions to use a local stack but cannot convert my own function.I have a recursive function that is using the return values to build a result.
I would like to run this in recursive mode, and I'm starting the function with:
$(function(){ $.bubbles(); }
The problem is, that function works only one (and a half) time. Console shows: start callback start I have not idea what is a problem. Function needs to be run constantly.
I am currently trying to create a simple form based web-page (uploaded here [URL] that creates a query for a WMS (Web Map Service).
The page consists of about 10 different forms, which are all put together in a (string) variable named "compiledQuery" in a function named "compileRequest" which is activated via a button. I would like to print out this variable on the page so that the users can see the query for themselves. After doing some research I came to the conclusion that the best way to do this would be via an iframe (I do not want to use a pop-up). The function I use to do this is:
function printRequest() { var query_frame = document.getElementById('frame_compiled'); query_frame.document.write(compiledQuery); } "frame_compiled" is the name of my iframe: <iframe name="frame_compiled" width="400" height="125"> </iframe>
I know that "compiledQuery" has been assigned a value (I used an alert with the value). Hence, I also know that the "prinRequest"-function works on principle... However, it seems as if I am having problem with retrieving the name of the iframe to the function (I tried doing an alert with the value, it was returned as null).
So, I suppose my question is this: How do I properly retrieve the value of the iframe, and am I on the right way using document.write to show the value of "compiledQuery" to the users? Or should I use another way of doing this completely?
I have been looking at this code for two evenings now, and rewrote it 4 times already. It started out as jQuery code and now it's just concatenating strings together.
What I'm trying to do: Build a menu/outline using unordered lists from a multidimensional array.
What is happening: Inside the buildMenuHTML function, if I call buildMenuHTML, the for loop only happens once (i.e. only for 'i' having a value of '0'.) If I comment out the call to itself, it goes through the for loop all 3 times, but obviously the submenus are not created.
My page has a form comprised of several radio buttons. I want to poll the buttons to determine which button was selected and convert its value to a string. I then want to use the string on the same page. Code:
I am building a string inside a variable prior to printing it on screen as follows : myclock += hours+':'+minutes; where "hours" and "minutes" are variables initialised elsewhere. How can I add a carriage return or new line character to the end of this line, so that anything else cocatenated to this variable is displayed on the next line.
I need to return a string of JS from my php file. In my ajax.php file these are the last lines ($js is a string of js generated dynamically, it works as its calling a function I'm using at the load of the page): $js = getData($day,$the_vote);
trying to write a function where i can pass an array and string and replace the value in return. i.e
var inputStr = "010203040506070809111213141516171819";
i want to pass this value in function and replace each number (number ranges are 01-09 and 11-19 only) i.e if i pass 01 want to replace that with A,02 with B etc.. so problem is i would pass input string and pass back as string after replacing those values by running through the below function. wrote the following,cant seem to split my inputStr into 01 02 etc tried splice and split no luck :
I'm sure a Google search could answer this, but I don't know what it's called, haha. Dot sytax maybe?chain methodsHow do I write a function that can be called like this:
$('p').myFunction().val('the new value');
I played around, tried this:
function myFunction() { $(this).css({'color': 'red'}); }
I've got a glitch somewhere and it's not obvious to me. Maybe someone can spot it.My problem is that the functions seem to return values but don't display them like they should. I'm testing returned values with a function called sayvalue(item). But when I test "DelTimeCode" the function returns "[Object]". I don't understand. I get returned values from DelTime and DelTitle.My approach is to select a radio button option, return a delivery title and a delivery price from the appropriate functions then write the information. I think I'm close. Any suggestions or observations of an error in my code?I have the following VARIABLES and FUNCTIONS:
I've been using the document.write function to loop through some xml and print the data within a HTMl table. I thought it would be useful to add a hyperlink to the table row, so I thought the best way to do this would to create a function (called popup), which takes an id as a parameter.
The problem with this, is that when writeing using the onClick, the speech marks seem to all get messed up.
Code:
onclick='popup('"+mailID+"')'
I'm 99% sure it's just the speech marks, i'm just not sure of the right combination, and it's doing my head in
If someone could even point me in the right direction, even the proper name as to what this is called would be great, as googleing it is proving to be a nightmare!
Here's the whole section of code if it's more useful:
Code:
var mailID = x[i].getElementsByTagName("mailid")[0].childNodes[0].nodeValue; if (r == "unread") { //email is unread document.write("<tr onclick='popup('"+mailID+"')' title='test'>"); } else { //else is read, so add colour