Ваша проблема здесь:
$(buttons +'> input').css({
shared styles for buttons
});
buttons
в этот момент не строка, а объект DOM. Поэтому, когда вы пытаетесь добавить этот объект в строку > input
, ваш селектор оказывается чем-то вроде «[object HTMLDivElement]> input», что, очевидно, неверно.
Этот должен работать, так как согласно документации children()
он выбирает только непосредственных потомков, повторяя поведение селектора >
:
$(buttons).children('input').css({
shared styles for buttons
});
Или, если это не так, что следует, тогда вы можете попробовать это, хотя я не чувствую себя хорошо по этому поводу:
$('> input', buttons).css({
shared styles for buttons
});
Кроме того, я не уверен, почему вы индивидуально создаете элементы с createElement
. jQuery поддерживает создание элементов DOM на лету . Используя это, вы можете сократить это:
undo =
document.createElement('input');
$(undo).attr({ type: "button",
value: "Start again"
}).css({width:'93%'});
На это:
$('<input>').attr({ type: "button",
value: "Start again"
}).css({width:'93%'});