use*_*700 1 html javascript jquery dom web
我有这个代码块,我在网页上创建了两个链接元素并向它们添加了一个click事件:
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>";
}
}
Run Code Online (Sandbox Code Playgroud)
DOM正确更新,但当我点击第2行的链接时,我得到一个意外的令牌},这是一个标签.这段代码在文件后面.帮助方法根本没有被解雇,所以我很确定问题出在这个代码上.非常感谢帮助.
onclick="newChatHelper("yes")" 是HTML中的引用问题
您需要使用onclick="newChatHelper('yes')"- 注意函数调用中的单引号
但是因为你已经在单引号中有这个,你需要转义内部单引号,如下所示:
'<div><a href="#" onclick="newChatHelper(\'yes\')"> no </a></div>'
Run Code Online (Sandbox Code Playgroud)
您也可以考虑不使用该onclick属性
$('#createRoom').append(
$('<a href="#">yes</a>').click(function(event) {
newChatHelper("yes");
event.preventDefault();
}).wrap('<div/>').parent()
);
Run Code Online (Sandbox Code Playgroud)
要么
$('#createRoom').append(
$('<div></div>').append(
$('<a href="#">yes</a>').click(function(event) {
newChatHelper("yes");
event.preventDefault();
})
)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |