javascript \“\'我很困惑

时间:2010-09-11 14:52:21

标签: javascript javascript-events quotes escaping

嘿,我忙于处理小项目,但我对下一条规则感到困惑;

<a href="#" onclick="removeMap('+ \"test\" +')" style="float:right; margin-right: 30px;"><img src="images/icons/collapse.gif"></a><br/>'

没有onclick删除地图操作。我不知道我必须在()之间放置什么才能使文本放在那里。有人有解决方案吗?

由于

5 个答案:

答案 0 :(得分:8)

尝试:

onclick="removeMap('test')"

如果测试是variable

onclick="removeMap(test)"

\"是scape onclick事件的结束双引号。在这种情况下,我认为您的通话没有任何用处。在html标记中使用事件函数就像onclick事件一样,因为html使用double quotes作为属性,您需要在inline javascript函数中使用单引号。


顺便问一下,你检查了JQuery JavaScript Library。当您开始编码javascript时,了解您的选择很有用。

答案 1 :(得分:2)

或者只是停止在HTML标签内部编写javascript,只需调用函数并将代码放入函数中......远远可以重复使用!

答案 2 :(得分:1)

怎么样:

<a href="#" onclick="removeMap('test')" style="float:right; margin-right: 30px;"><img src="images/icons/collapse.gif"></a><br/>'

答案 3 :(得分:0)

你应该使用一个正确突出显示字符串的编辑器(以及正在发生的事情应该是显而易见的)

答案 4 :(得分:0)

转义引号在HTML中没有任何特殊含义。相反,浏览器会将您的行视为:

<a href="#"
  onclick="removeMap('+ \"
  test\
  " +')"
  style="float:right; margin-right: 30px;"
>

onclick将被破坏的Javascript,并且标记中有两个属性(test\" +')"),它无法识别并且不知道该怎么做做的。