javascript 意外标记 }
javascript unexpected token }
我有这段代码,我在网页上创建两个 link 元素并向它们添加点击事件:
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 更新正确,但是当我单击 link 时,我在第 2 行收到一个意外标记},这是一个标记。此代码块位于文件的后面。辅助方法根本没有被触发,所以我很确定问题出在这段代码上。非常感谢您的帮助。
var roomName = document.getElementById("roomName").value
您可能想用 ;
结束它
var roomName = document.getElementById("roomName").value;
var roomName = document.getElementById("roomName").value
来自
var roomName = document.getElementById("roomName").value;
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();
})
)
);
我有这段代码,我在网页上创建两个 link 元素并向它们添加点击事件:
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 更新正确,但是当我单击 link 时,我在第 2 行收到一个意外标记},这是一个标记。此代码块位于文件的后面。辅助方法根本没有被触发,所以我很确定问题出在这段代码上。非常感谢您的帮助。
var roomName = document.getElementById("roomName").value
您可能想用 ;
结束它var roomName = document.getElementById("roomName").value;
var roomName = document.getElementById("roomName").value
来自 var roomName = document.getElementById("roomName").value;
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();
})
)
);