【发布时间】:2022-01-10 22:41:43
【问题描述】:
我正在尝试设置触发函数的 onclick 属性并在该函数中传递参数。 一些参数直接来自我要在其中生成按钮的数组元素,在该按钮中我想在单击时创建新属性。 一旦我使用元素属性(例如 element.startTime),我就会在参数列表之后收到错误“Uncaught SyntaxError: missing )”。
我做错了什么?
这是我的代码:
if(days[day]) {
days[day].forEach(
(element) => {
var scheduleChild = document.createElement('div')
scheduleChild.className = 'btn btn-link text-center schedulesTime'
var address = document.createAttribute("data-address")
address.value = element.address
scheduleChild.setAttributeNode(address)
var startTime = document.createAttribute("data-startTime")
startTime.value = element.startTime
scheduleChild.setAttributeNode(startTime)
var endTime = document.createAttribute("data-endTime")
endTime.value = element.endTime
scheduleChild.setAttributeNode(endTime)
scheduleChild.innerText = element.startTime+'-'+element.endTime
scheduleChild.setAttribute('onClick','bookTimeslot('+id_provider+','+element.startTime+')')
dayParent.appendChild(scheduleChild)
}
)}
按钮的创建工作正常,我可以看到按钮中设置的 onclick 属性。 这里以我创建的按钮的 HTML 为例:
<div class="btn btn-link text-center schedulesTime" data-address="3" data-starttime="09:00" data-endtime="09:45" onclick="bookTimeslot(3,09:00)">09:00-09:45</div>
【问题讨论】:
标签: javascript html foreach attributes