WhiteBachelor
@WhiteBachelor
Начинающий веб-программист.

Почему DOM-элемент не передает значение собственного Id?

Ой, чувствую, много я набью шишек экспериментальным-практическим методом обучения... Суть программы в том, что при вводе в input значение передается в массив, а затем выводится с помощью span, и с помощью DOM в него записывается обработчик события click для возврата id и последующей возможности удаления через GUI. Удаление еще не реализовано, потому-что id не возвращается. Почему?
Вот код.
HTML:
<html>
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="css/style.css"/>
<title>Array GUI</title>
<script type="text/javascript" src="js/script.js"></script>
</head>

<body onload="inputRestart()">
    <header>
        <img src="css/images/array.png" alt="array" width="100" id="logo"/>
        <h1>GUI Array</h1>
        <h2>Graphical representation of the array and visualization of some array functions</h2>
    </header>
    <div id="content">
        <input type="text" placeholder="Add New Element" id="input-creater"/>
        <input type="button" value="Create" id="button-creater" onclick="addArrayValue()"/>
        <div id="array-space">
            <p id="p-array"></p>
        </div>
    </div>
    <nav id="options">
            <ul id="options-block">
                <li class="options-block-buttons" id="add-button"  ><a href="#logo">Add</a></li>
                <li class="options-block-buttons" id="del-button"  >Delete</li>
                <li class="options-block-buttons" id="sort-button" >Sort</li>
            </ul>
        </nav>

</body>
</html>


JAVASCRIPT:
var arrayList = new Array;
var selectedForDelete = new Array;

function inputRestart(){
    document.getElementById("input-creater").value = '';
}

function addArrayValue(){
    arrayList.push( document.getElementById("input-creater").value );
    addArrayValueToDOM(arrayList[arrayList.length - 1])
}

function addArrayValueToDOM(value = ''){
    DOM_Element = document.createElement('span');
    document.getElementById('p-array').appendChild(DOM_Element);
    var elem = document.getElementById('p-array').getElementsByTagName('span')[arrayList.length - 1];
    elem.innerHTML = value;
    elem.style.backgroundColor = 'rgb(255, 255, 255)';
    elem.id = ("elem" + arrayList.length - 1);
    elem.addEventListener('click', elementIdentify(this.id));
    inputRestart();
}

function elementIdentify(selectedId){
    document.getElementById(selectedId).style.backgroundColor = 'rgb(248, 48, 48)';

}

Наглядная демонстрация сумасшествия моего производства в действии:
5bcb8ed8dfa8d654516802.png
Почему id не возвращается? Что я делаю не так?
P.S: И это еще только второй пункт менюшки сбоку))))))
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы