在HTML代码中,我现在使用代码
<input type = "text" id = "abc@def.com">
来获取文本,它需要获取在文本字段中输入的值.我正在使用jquery来做到这一点:
$( document ).ready( function() {
$( ".bid" ).click( function() {
idVal = this.id
bidID = "#" + idVal + "bid"
spanID = "#" + idVal + "cbid"
bidValue = $(bidID).val();
alert(idVal)
alert(bidID)
alert(bidValue) //this alert says undefined
$( spanID ).html( ' ' ).load( '{% url online_machines %}?id=' + idVal + '&bidvalue=' + bidValue);
});
});
Run Code Online (Sandbox Code Playgroud)
通过这样做我得到未定义的值错误.我试图从id中删除特殊字符以获取其值.但是我需要带有特殊字符的id.如何使用jquery获取其值?
小智 29
而不是使用#尝试ID,尝试这样匹配这样的属性,
$('[id=ID]')
Run Code Online (Sandbox Code Playgroud)
要么
$('[id='+ID+']')
Run Code Online (Sandbox Code Playgroud)
而不是
bidID = "#" + idVal + "bid"
Run Code Online (Sandbox Code Playgroud)
你可以试试
bidID = "[id=" + idVal + "bid]"
Run Code Online (Sandbox Code Playgroud)
ysr*_*srb 26
尝试逃避它:
$('#abc\\@def.com').val();
Run Code Online (Sandbox Code Playgroud)
http://api.jquery.com/category/selectors/的第一段
从版本3开始,看起来JQuery有一个有用的方法escapeSelector
.
$('#' + $.escapeSelector(my_id_with_special_chars));
https://api.jquery.com/jQuery.escapeSelector/