.setAttribute命令有一个小问题。我正在创建一个名为view的元素:
var view = document.createElement('p')
view.innerHTML = "VIEW"
view.style.color = "#e60f0f"
view.style.fontFamily = "Montserrat"
view.style.fontWeight = "600"
view.style.fontSize = "13px"
view.style.right = "5px"
view.style.position = "absolute"
view.style.top = "0px"
view.style.marginTop = "5px"
view.style.backgroundColor = "transparent"
view.style.padding = "10px"
view.style.borderRadius = "7px"
view.setAttribute('onclick', 'view(name, date, type)')
document.getElementById(newId).appendChild(view)
运行此命令时,除.setAttribute()函数外,所有内容均呈现。我不知道为什么。有人知道吗?非常感谢!
如果需要,这里是view()函数:
function view(name, date, type) {
window.location = '/flightStatus?name=' + name + '&date=' + date + '&type=' + type
}
另一个需要注意的是:我将其发送到Node.js ...我认为没关系,上面的代码是客户端:)
答案 0 :(得分:1)
您只能在内联方法中使用字符串。看起来像这样(或使用模板文字):
view.setAttribute('onclick', 'view(\'' + name + '\', \'' + date + '\', \'' + type + '\')')
您应该使用适当的DOM方法。只需替换
view.setAttribute('onclick', 'view(name, date, type)')
使用
view.addEventListener('click', () => view(name, date, type));
答案 1 :(得分:0)
您需要在此行中转义变量:
client.ServerCertificateValidationCallback = (s, c, h, e) => true;
我会使用模板文字:
view.setAttribute('onclick', 'view(name, date, type)')
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
如果不确定是使用addEventListener还是onClick: