Как исправить data-action?


#1

Код
Нужно по клике на кнопку Width увеличивать ширину блока, по клике на кнопку Heigth увеличивать высоту блока
У меня не получается с data-action


#2
var purposeBlock = document.getElementById('one');

function addSize() {
        if (purposeBlock.getAttribute('data-action') === 'width')
          purposeBlock.style.width = changeSize('width');
        if (purposeBlock.getAttribute('data-action') === 'height')
          purposeBlock.style.height = changeSize('height');
}

function changeSize(param) {
        var styleProp = purposeBlock.style[param];

        if (styleProp === '') return '70px';
        else return parseInt(styleProp) + 20 + 'px';
}

Проверил - addSize() вызывается. Следовательно дело в условиях внутри нее. purposeBlock.getAttribute('data-action') вычисляется в null. Отсюда все неожидаемое поведение. По логике значение аттрибута нужно брать из кнопки по которой клик, а не из узла, ширину которого меняешь.

И для ремарки - такой подход к структурированию кода плох для продакшена. Кинь конечный работающий результат в новом топике и там я покажу как и почему нужно структурировать код иначе.


#3

Не знаю как это сделать. Как выцепить элемент, по которому кликнули?