Es que attributo es eso un attributo! No puedes eliminar un <li> mediante removeAttribute(), ya que un <li> como todo tag HTML es un nodo/elemento dentro del DOM. Un atributo es un caracteristica del tal nodo, por ejemplo <ul> tiene como attributo un "id", como tambien puede ser un "class", "name" inclusivo algo custom como "automovil" es 100% legal.
Los atributos se declaran en el mismo tag, por ejemplo <p>, le agrego los siguientes attributos,
<p class="para" lang="es" title="Esto es un parrafo">...</p>
, los attribuos son "class", "lang" y "title".
Ahora en tu caso para borrar elementos, debes utilzar la funcion removeChild(), cual siempre debe ser llamada en el parent, por ejemplo:
<ul id="myList">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
Aca el parent es el <ul>, osea debes hacer los siguiente:
// aca obtengo el parent
var myList = document.getElementById( 'myList' );
// y aca todos sus childs
var items = myList.getElementsByTagName( 'li' );
// ahora quiero borrar el ultimo li, recuerda getElementsByTagName
// devuelve un array, cual posee una propiedad llamada length
// esta propiedad me indica cuanto li he obtenido mas 1,
// osea que por ejemplo en el ejemplo de arriba length es igual 3,
// cuando en realidad es igual 2, recuerda todo array empieza a contar de 0
// sabiendo esto para borrar en el ultimo li, yo se que es length - 1
var lastItemPosition = items.length - 1;
// con la posicion del ultimo elemento obtengo el utlimo <li>
// recuerda que para acceder a un posicion especifica en un array usas los []
var lastItemElem = items[lastItemPosition];
// proceso a eliminar el utlimo elemento
myList.removeChild( lastItemElem );
Hago la distincion del parent, porque no puedo hacer algo como: li.removeChild( li ), no puedo borrar un elemento estando en el mismo elemento, para solucionar esto simplemente teniendo ubicado el li a borrar, simplemente subo de nivel, recuerda que el DOM es como un grafo en donde puedes moverte para arriba/abajo y izquierda/derecha, entoces otra forma de borrar un elemento, seria asi:
var lastItemElem = items[lastItemPosition];
// proceso a eliminar el utlimo elemento
lastItemElem.parentNode.removeChild( lastItemElem );
Al usar parentNode ya no estyo en lastItemElem, estoy en el <ul>, el parent de ese <li>, osea he subido de nivel y luego simplemente borro el respectivo child.