如何在jquery中访问id attr中的特殊字符

时间:2017-06-19 08:34:43

标签: javascript jquery

我有像

这样的元素
<div id = "node-1-@" >
  <div class="region">
    accessData
  </div>
</div> 

的JavaScript

var data = $("#node-1-@ .region");
console.log(data.html())

这给出了错误,如

Syntax error, unrecognized expression: #node-1-@

2 个答案:

答案 0 :(得分:1)

尝试var data = $("#node-1-\\@ .region");

  

使用任何元字符(例如   !&#34;#$%&amp;&#39;()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为名称的字面部分,它必须   用两个反斜杠转义:\\。

Ref

答案 1 :(得分:0)

您应该转义选择器中的@特殊字符:

var data = $("#node-1-\\@ .region");

console.log(data.html())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id = "node-1-@" >
<div class="region">
  accessData
</div>
</div>

您可以查看jQuery selectors documentation了解更多详情。