定位具有空间的ID的元素jQuery

时间:2014-08-21 03:34:40

标签: javascript jquery

我使用jQuery在我的网页中找到一个元素,但它总是在这一行引发错误:

var test = $('table[id$=' + array[i].Id + ']');

错误是Object不支持此属性或方法。

array [i] .Id是“12312 Tab1”

当我删除I​​d中的空格时,不会抛出任何错误。我的jQuery知识非常基础,所以我不太清楚为什么会出现这个错误?

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

使用此:

var test = $('table[id$="' + array[i].Id + '"]');

如果attr值包含空格

,则需要添加引号

答案 1 :(得分:0)

在属性值选择器中使用时,您需要转义字符匹配项或将整个值包装在引号中:

var test = $('table[id$="' + array[i].Id + '"]');

var test = $('table[id$=' + array[i].Id.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")+ ']');