She*_*nar 4 html javascript jquery angularjs
我面临着获取id包含特殊字符.和$符号的元素的值的问题.
我对元素的id是"XS_19MAY2016_012720_311.04$_cal"我使用jQuery的语法:
$("#"+xyz+"_cal").val() where xyz is variable having above id.
Run Code Online (Sandbox Code Playgroud)
我收到的错误是:
Error: Syntax error, unrecognized expression: #XS_19MAY2016_012720_311.04$_cal.
Run Code Online (Sandbox Code Playgroud)
我做错了什么或我需要做些什么来纠正它.
逃避角色:
var foo = 'XS_19MAY2016_012720_311.04$';
$('#' + foo.replace(/[.$]/g, '\\$&') + '_cal').text('foo')Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="XS_19MAY2016_012720_311.04$_cal"></div>Run Code Online (Sandbox Code Playgroud)
您可以使用这种方式(没有符号转义).
$(function() {
var
id = "XS_19MAY2016_012720_311.04$_cal",
text;
text = $('[id="' + id +'"]').text();
alert(text);
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="XS_19MAY2016_012720_311.04$_cal">Yay!</div>Run Code Online (Sandbox Code Playgroud)