jQuery语法错误,无法识别的表达式

时间:2015-12-06 22:48:09

标签: javascript jquery

语法错误,无法识别的表达式:_update = function(data,success,fail){ unit.find({where:{sku:data.sku}}) .then(function (data) { if(data){ data.updateAttributes({ qty_on_hand:20 }).success(function (data) { console.log("Success on update: ", data); }) } }).catch(function(err){ console.trace(err). }); }

我有一个ID为'2015-11-30 | 1112 | 1'的锚标记,我想申请一个班级。我在''上做同样的方法,这有效,但我得到的语法错误如下。任何人都可以解释语法错误吗?

#2015-11-30|1112|1

2 个答案:

答案 0 :(得分:4)

您应该使用id转义\\中的特殊字符,请查看示例。

希望这有帮助。



console.log( $("#2015-11-30\\|1112\\|1").text() );

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="2015-11-30|1112|1">Div text example</div>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

要使当前的代码正常工作,您不必使用该id选择器,因为您已经在事件函数中引用了该对象。

$(document).ready(function() {
  $("#tbl_calendar").on("click", "a", clickAppointment);

  function clickAppointment(eventData) {
    //"this" will have a reference to the clicked object
    $(this).addClass("selected");
  }
});

不确定您的HTML,但考虑类似于下面的内容。

<ul id="tbl_calendar">
  <li>
    <a id="2015-11-30|1112|1">Click</a>
  </li>
</ul>

Working sample