"Mr. x" <a@b.com> writes:
[color=blue]
> Suppose I have a table like this :
>
> <table width = "580">
> <tr align = "right" width = 760>
> <td id = "current_page_inner">
> <font size="4" color="lightgreen" face="arial"><b><i>
> abc
> </i></b>[/color]
I recommend against using the font, b and i tags. Use CSS to get
the same effect, that is what it was invented for.
[color=blue]
> </font>
> </td>
> </tr>
> </table>
> ...
> if I do in code :
> current_page_inner.children(0).innerText = "bcd"[/color]
Amazing, out of the three parts of the expression on the left of
the equal sign, all are IE-specific and won't work in Mozilla.
It is bad style to refer to an element by using its name as a global
variable (bad style, and not likely to work in many browsers, including
Mozilla).
Use the W3C DOM method "getElementById" instead:
document.getElementById("current_page_inner")
The children collection is not standard code. Again, it probably works
in IE, but doesn't in Mozilla/Netscape 6+. Use the W3C DOM "childNodes"
collection instead:
document.getElementById("current_page_inner").chil dNodes[0]
Likewise "innerText" is a proprietary MS property that doesn't work in
Mozilla. The W3C method isn't as short, so I won't show it here.
[color=blue]
> the text is changed to the new text,
> and the font doesn't change,
> but the font is not italic and not bold as the original.
> Why ?[/color]
Because the first child of the element named current_page_inner is the
font tag (in IE, in Mozilla it is a text node containing the newline
between the td and the font elements). You set the innerText of the
font tag to "bcd". That clears *all* the content of the font tag and
adds a single text node with the text "bcd".
It is equal to this W3C DOM code (ok, I will show it here :)
---
var elem = document.getElementById("current_page_inner").
getElementsByTagName("*")[0]; // first non-text-node
while (elem.hasChildNodes()) { // remove content
elem.removeChild(elem.lastChild);
}
elem.appendChild(document.createTextNode("bcd")); // add new content
---
/L
--
Lasse Reichstein Nielsen -
lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'