I would probably do the reverse of what I use now (with adults), and turn it into an opportunity for a lesson for the children.
That is to make the field a normal input field, then include a link below it that says "HIDE".
Hitting the "HIDE" link will toggle it to "SHOW", and make the content of the password field starred. Hitting "SHOW" would do the reverse.
I would imagine on a children's site that you have icons for something like, "What's this?". If so, the HIDE/SHOW toggle would be an opportunity to describe why one should hide their password.
EXAMPLE (cross-section. Note that XDOM is an object that normalizes DOM functions across browsers.)
...
function init()
{
pwdEl = XDOM.getElementById('pass');
pwdClr = XDOM.getElementById('logindisplay');
toglLnk = XDOM.getElementById('showhidepwd');
pwdClr.style.display = "none"; //initiate
function mirrorType(e)
{
pwdClr.innerHTML = pwdEl.value;
}
function toggleMirror(e)
{
var toggle = pwdClr.style.display;
if (toggle == "none") {
pwdClr.style.display = "inline";
toglLnk.innerHTML = "hide";
} else {
pwdClr.style.display = "none";
toglLnk.innerHTML = "show";
}
pwdClr.innerHTML = pwdEl.value;
XDOM.stopPropagation(e);
XDOM.preventDefault(e);
}
XDOM.addListener(pwdEl, 'keyup', mirrorType, false);
XDOM.addListener(toglLnk, 'click', toggleMirror, false);
}
window.onload = init;
</script>
<style type="text/css">
#logindisplay {display:none;}
.row {display:table-row; padding:4px;}
.cell {display:table-cell; padding:4px;}
</style>
</head>
<body>
<div>
<h2>Test Show-Hide Login</h2>
<form>
<div class="row">
<p class="cell">
<label for="pass">Password</label>
</p>
<p class="cell">
<input type="password" id="pass" name="pass" value="" size="15" maxlength="15" />
<br /><a href="#jsenable" id="showhidepwd"><span id="togglelogin">show</span></a>
<span id="logindisplay" style="display:none;"> </span>
</p>
</div>
</form>
<p id="jsenable"><!-- a note about enabling JavaScript here --></p>
</div>