【问题标题】:Iavascript \" \' I'm confusedIavascript \" \' 我很困惑
【发布时间】:2011-04-11 02:57:45
【问题描述】:

我正忙于一点 JavaScript 项目,但我被下一条规则弄糊涂了:

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

它不需要onclick 删除地图操作。我不知道我必须在() 之间放什么才能让我可以在那里放文字。有人有解决办法吗?

【问题讨论】:

    标签: javascript dom-events escaping quotes


    【解决方案1】:

    试试吧:

    onclick="removeMap('test')"
    

    如果测试是variable:

    onclick="removeMap(test)"
    

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


    顺便问一下,您检查过JQuery JavaScript Library。当您开始编码 javascript 时,很高兴知道您的选择。

    【讨论】:

      【解决方案2】:

      怎么样:

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

      【讨论】:

        【解决方案3】:

        您应该使用能够正确突出显示字符串的编辑器(发生的事情应该很明显)

        【讨论】:

          【解决方案4】:

          或者只是停止在 HTML 标记中编写 javascript,只需调用函数并将代码放入函数中...非常易读!

          【讨论】:

            【解决方案5】:

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

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

            onclick 会损坏 Javascript,并且标记中会有两个属性(test\" +')")它无法识别并且不知道如何处理。

            【讨论】:

              猜你喜欢
              • 2020-08-17
              • 2012-08-04
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-03-09
              • 1970-01-01
              相关资源
              最近更新 更多