jquery使用字符串更改textbox的值

jquery使用字符串更改textbox的值,jquery,Jquery,我正在尝试在我的网页中实现和撤消该功能。这是一张满是可编辑文本框的表格,因此很难找到id。我决定根据表信息创建一个id名称。以下是一个id,例如: HW3=:25626=:10000 HW3是标题,25626是行的id列,10000引用此表。对于撤消功能,我使用 $(this).attr('id); 该函数是根据事件焦点或单击调用的,这就是“this”工作的原因。我获取当前值并将其添加到末尾,如下所示 $(this).attr('id)+":="+old_value; 之所以这样做,

我正在尝试在我的网页中实现和撤消该功能。这是一张满是可编辑文本框的表格,因此很难找到id。我决定根据表信息创建一个id名称。以下是一个id,例如:

 HW3=:25626=:10000
HW3是标题,25626是行的id列,10000引用此表。对于撤消功能,我使用

 $(this).attr('id);
该函数是根据事件焦点或单击调用的,这就是“this”工作的原因。我获取当前值并将其添加到末尾,如下所示

 $(this).attr('id)+":="+old_value;
之所以这样做,是因为id名称由“=:”分隔,所以我可以进行两次拆分,以将这些数据分部分返回。可能不是我所理解的最好的

我遇到的问题是,当我尝试取出id并将其作为元素放回时,我会得到错误:

 Uncaught Error: Syntax error, unrecognized expression: #HW3=:25626=:10000 
我正在努力做到:

  var s = "#"+temp[0];
  var element = $(s);
温度[0]等于HW3=:25626=:10000。这是第二行抛出这个错误

重要的!!!具有我正在使用的id的表不是在开始中创建的。JQuery调用一个在页面加载后构建它的方法。在创建表之前,无法访问此方法。我知道只有在加载事件之后才能将事件绑定到元素,但我不确定情况是否相同,因为我永远不会尝试在不存在的文本框上撤消。毕竟,它必须存在,才能插入到Undo对象中


感谢您的帮助

您的ID在选择器中不起作用。您必须这样做:

$(document.getElementById(temp[0]))

你是怎么想到的?如果
document.getElementById(temp[0])
可以工作,那么
$(“#”+temp[0])
也应该工作,否?@mplungjan:如果属性包含会破坏选择器的字符,则不工作
foo.bar
是有效的id,但它会使选择器工作不正常。哪些字符对选择器无效,因为这不起作用。但我也发现,即使是手动输入id也不起作用,所以我想我使用了无效字符或其他什么。好的,我找到了一个有效字符列表,但上面没有my=。所以我把它们改成-。仍然不起作用。我确实在我的文本框中发现,当我更改值时,它不会更改代码的值。还是没能让它发挥作用