javascript意外令牌}

时间:2015-04-07 06:50:56

标签: javascript jquery html dom web

我有这个代码块,我在网页上创建两个链接元素并向其添加点击事件:

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行的链接时,我得到了一个意外的标记},这是一个标记。这段代码在文件后面。帮助方法根本没有被解雇,所以我很确定问题出在这个代码上。非常感谢帮助。

3 个答案:

答案 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;