Я пытаюсь сделать так, чтобы, когда я нажимаю кнопку над элементом часов, который у меня есть, он меняет его с am на pm. У меня много элементов часов, каждый из которых связан с их собственными кнопками am/pm. Вот что я пытался (piechart0 это часы и clock.js где я обрабатывать мои JS для него):Передача идентификатора другого элемента в событие onclick кнопки?
<button class="button2" onclick="Clock.toAm("piechart0")">AM</button>
<button class="button2" onclick="Clock.toPm("piechart0")">PM</button>
<canvas id="piechart0" width="200" height="200"></canvas>
С этим, как мой JavaScript:
Clock.toAm = function(id) {
var clock = document.getElementById(id);
clock.am = true;
for (var j = 0; j < 48; j++) {
clock.segments[j] = clock.amSegments[j];
clock.updateDraw(j);
}
}
Clock.toPm = function(id) {
var clock = document.getElementById(id);
clock.pm = true;
for (var j = 0; j < 48; j++) {
clock.segments[j] = clock.pmSegments[j];
clock.updateDraw(j);
}
}
Но я получаю «атрибут msgstr "уведомление не разрешено здесь. Что я делаю неправильно здесь/как передать другой идентификатор аргументу аргумента onclick кнопки?
EDIT: Я вижу, что у меня могут быть конфликты котировок. Теперь, с помощью «» цитат я получаю ссылку на piechart0, но в то время как фактические переменные piechart0 все определены, когда я закончу:
var clock = document.getElementById(id);
Все переменные этого элемента не определены. Я не уверен, почему это так, поскольку я использую один и тот же идентификатор?
вы это помечены, как JQuery. Любая причина, по которой вы не используете '$ ('. Class2'). Click()'? – Assimilater
Добавление настраиваемого свойства в элемент HTML (HTMLCanvasElement) не считается хорошей практикой, где вы их определяете? – progysm
Без кавычек, что не работает? Это та же ошибка? – Assimilater