![]() |
Javascript : appendChild
What's the best way to add an <li> with a nested <a> tag to an exisiting <ul>?
More simply, I want to create a structure like this : <li><a href='something'>Click</a></li> from the ground up, and insert it into the ul DOM When I use my method, it works in opera, but not in safari or firefox, however it does not produce any javascript errors, it just doesn't work! Sample code [I've tried several ways...here's one] Code:
var newli = document.createElement('li'); This 'works' as in it inserts a node, but it isn't linked as it should be. I've also tried aHref.setAttribute('href', '#6') ... but doesn't seem to work either. |
Remember, that to correctly nest lists, child OLs or ULs should be children of an LI element,
not direct descendents of their parent OL/UL. The text used to expand the branch should be written between the <li> tag and the <UL/OL/A> tag, and should only contain HTML that is permitted inside an 'A' element. Note; Opera 7 will lose any style attributes you define in this text - use classes instead. Code:
<ul id="someID"> A node is the representation of either a piece of text or a tag and its attributes in the DOM. The syntax for creating a node is very simple - you just call a method of the document object. To create a text node, we use the createTextNode() method of the document object. document.createTextNode(Text) returns a node with the given text in it. Here is an example use of it: Code:
var txtNode = document.createTextNode("Hello. This is a new node."); Code:
var link = document.createElement('a'); Code:
link.setAttribute('name', 'myanchor'); Does that help?? ;) |
I figured it out, sort of. Thanks a lot for the detailed response.
Since the page is xhtml+voice, which was encoded as xml at the time there was some weird behavior. Mainly document.style attributes don't work from inside the xml and causes a javascript error (only in FF), also if you setAttribute('class', something) and then append it into a parent node, the class is removed -- the class has to be set by selecting the child after the append. There could be many other things I've done wrong...it's very hard to validate a x+v page since there aren't any validators for this content yet (and surely won't come close to validating as xml, xhtml, or html). |
All times are GMT. The time now is 02:37 PM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|