Javascript 如何使用jquery获取id中包含非法字符的元素?

Javascript 如何使用jquery获取id中包含非法字符的元素?,javascript,jquery,Javascript,Jquery,第三方控件创建一个id如下的元素: aspxgv_1803_0_cell1_9_Attribute1^ubd 我需要获取此元素的值,但jquery似乎在id中的非法“^”方面存在问题 var fieldId = 'aspxgv_1803_0_cell1_9_Attribute1^ubd'; var fieldValue = $('#' + fieldId).val(); // <-------- function stops var fieldId='aspxgv_1803_0

第三方控件创建一个id如下的元素:

 aspxgv_1803_0_cell1_9_Attribute1^ubd
我需要获取此元素的值,但jquery似乎在id中的非法“^”方面存在问题

 var fieldId = 'aspxgv_1803_0_cell1_9_Attribute1^ubd';
 var fieldValue = $('#' + fieldId).val();  // <-------- function stops
var fieldId='aspxgv_1803_0_cell1_9_Attribute1^ubd';

var fieldValue=$('#'+fieldId).val();// 你可以转义这个角色

var fieldValue = $('#aspxgv_1803_0_cell1_9_Attribute1\\^ubd').val();

如果您想要DOM元素的jQuery对象,您总是可以将该元素传递给$function,而不是选择器

var fieldId = 'aspxgv_1803_0_cell1_9_Attribute1^ubd';
var fieldValue = $(document.getElementById(fieldId)).val();

下面是一个使用此代码返回jQuery对象的html的示例

+1,很好的建议,他还可以使用value属性
document.getElementById(fieldId).value
来获取值,这比使用jQuery要快。是的,我认为无论他做什么,将其保留为jQuery对象都可能更好。我更喜欢你的逃跑方案,不管怎样,它更优雅。我不知道jQuery可以做到这一点。这对我来说非常有效,所以+1。给Nimphious的答案打上标记,因为他的答案对我来说也很有用,而且在我的代码库中更适合。@SailingJudo你做了一个很好的决定,如果你动态地获得
id
,那会更好。是的,我做了。虽然当我动态获取id时,您的解决方案也可以正常工作。在测试时,我刚刚在变量的末尾添加了一个.replace('^','\\^')。不过,这两种方法都很好。我想使用另一种方法的一个优点是,你不必逃避每一个特殊的角色。