【发布时间】:2013-08-13 13:58:36
【问题描述】:
我有一个 jQuery 循环,它将多行附加到一个表中。行数可以在运行时改变,因此行 ID 是动态生成的。
$("#tableBody")
.append($("<tr>")
.attr('id','row-icon' + currentID)...
稍后,我需要访问这些添加的行。但是,当 currentID 的值中包含“+”符号时 - 当我尝试访问行元素时出现“未定义”错误。
例如,下面的行在currentID 为“1”时有效 - 但在 ID 为“vm+1”时失败。
var testID = $("#row-icon" + currentID).attr("id");
我是否缺少一个简单的解决方案来“转义”额外的“+”符号?
工作示例here。
编辑:我应该注意,ID 是由第 3 方发送的 - 所以我无法控制删除“+”符号。
【问题讨论】:
-
ID 必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字、连字符、下划线、冒号和句点。所以那些是非法的身份证。
-
@Tdelang:在 HTML4 中是正确的,但 HTML5 对
id属性更加宽容 -
@Kneel-Before-ZOD:变量的名称中没有+。该变量的 value 确实有一个 + 非常好。
-
我想应该这样 -> jsfiddle.net/svn8W/4