<!DOCTYPE html>
<html>
<head>
<title align = "center"> Палитра цветов</title>
<style>
ul
{
margin:0;
padding:0;
}
</style>
</head>
<body>
<input type="text" id="input" onkeyup="doIt()"/>
<button onclick="addElem()">add</button>
<div id='kvadrat'>
</div>
<script type="text/javascript">
var div, b, yo,element, j = 0;
var div=document.getElementById("kvadrat");
var buts=div.getElementsByTagName("button");
/*for (var i=0 in buts)
buts[i].onclick=delElem; данный цикл впринципе не работоспособный, иначе бы у вас никогда не вызвалась бы функция addElem()*/
function addElem()
{
var p=document.createElement("p");
//var p=b;
p.innerHTML = "Квадрат №"+(j+1);
var but=document.createElement("button");
but.innerHTML="x";
but.onclick= function() { delElem(p); };
p.appendChild(but);
div.appendChild(p);
j++;
}
function doIt()
{
b = document.getElementById('kvadrat');
b.style.background = input.value;
b.style.width = '50px'; // не имеет смысла
b.style.height = '50px'; // каждый раз задавать одни и те же значения
}
function delElem(el)
{
/*e=window.event;
element=e.srcElement.parentNode;
div.removeChild(element);*/
div.removeChild(el);
}
</script>
</body>