В ответ на:
Как можно настроить таргетинг на кнопки, используя идентификатор вместо индекса?
Изменить setColor
функция, как показано ниже:
До:
function setColor(keyValue) {
var keyName = $(targetBtn).index();
console.log(keyName, keyValue);
$(targetBtn).css("background", saveColorPref(keyName, keyValue));
}
После:
function setColor(keyValue) {
var keyName = $(targetBtn).attr('id');
console.log(keyName, keyValue);
$(targetBtn).css("background", saveColorPref(keyName, keyValue));
}
Фрагмент SO выдает эту ошибку:
Uncaught DOMException: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.
То есть вы не видите изменения цвета кнопки. Это работает в вашем jsfiddle.