我有这个代码块,我在网页上创建两个链接元素并向其添加点击事件:
function createNewChat(){
//alert("new chat fired");
var roomName = document.getElementById("roomName").value
if (roomName){
resetErrorLog();
$('#createRoom').append('<p>would you like to password protect this room?</p>');
$('#createRoom').append('<div><a href="#" onclick="newChatHelper("yes")"> yes </a></div>');
$('#createRoom').append('<div><a href="#" onclick="newChatHelper("no")"> no </a></div>');
}
else {
document.getElementById("errorlog").innerHTML = "<p>The room name input box seems to be empty</p>";
}
}
DOM正确更新,但当我点击第2行的链接时,我得到了一个意外的标记},这是一个标记。这段代码在文件后面。帮助方法根本没有被解雇,所以我很确定问题出在这个代码上。非常感谢帮助。
答案 0 :(得分:5)
onclick="newChatHelper("yes")"
是HTML中的引用问题
您需要使用onclick="newChatHelper('yes')"
- 注意函数调用中的单个引号
但是因为你已经在一个引号中有这个,你需要逃避内部单引号,如下所示:
'<div><a href="#" onclick="newChatHelper(\'yes\')"> no </a></div>'
您还可以考虑不使用onclick
属性
$('#createRoom').append(
$('<a href="#">yes</a>').click(function(event) {
newChatHelper("yes");
event.preventDefault();
}).wrap('<div/>').parent()
);
或强>
$('#createRoom').append(
$('<div></div>').append(
$('<a href="#">yes</a>').click(function(event) {
newChatHelper("yes");
event.preventDefault();
})
)
);
答案 1 :(得分:-6)
var roomName = document.getElementById("roomName").value
你可能想用一个;
关闭它var roomName = document.getElementById("roomName").value;
答案 2 :(得分:-6)
var roomName = document.getElementById("roomName").value
通过 var roomName = document.getElementById(“roomName”)。value;