Вы пытаетесь использовать ключевое слово «this» вместо «document», которое не работает, поскольку «this» указывает на функцию labelOnClick.
function labelOnClick(e)
{
function makeDivId(id)
{
return id + "_div";
};
var div = document.getElementById(makeDivId(this.id));
if (div)
{
div.parentNode.removeChild(div);
}
else
{
div = document.createElement("div");
div.innerHTML = "welcome";
div.id = makeDivId(this.id);
var element = e.target;
element.parentNode.insertBefore(div, element.nextSibling);
}
}
<label id="1" onclick="labelOnClick(event)" > BROWSER </label>
<label id="2" onclick="labelOnClick(event)"> GAMING CONSOLE </label>
Я написал это, предполагая, что вы используете что-то, что поддерживает свойство "target" объекта события (например, не Internet Explorer). Если вам нужна кросс-браузерная поддержка, вы можете сделать это вручную или использовать такую среду, как jQuery или Prototype.
То, как был написан исходный код, я предположил, что вам нужен div для метки, и я угадал позиционирование (сразу после метки).