添加id并使用它的jquery脚本不起作用

我正在尝试使用我的键盘使用id单击按钮。

对于某些按钮,我必须设置ID,这实际上是有效的。 但是一旦我尝试将键盘用于我设置id的按钮,它就无法工作。

我没有收到任何错误,因为添加id到元素工作,我有点困惑为什么我不能在代码中使用新的set id。

//setting id for first button (works) $( "a:contains('Im Verband freigeben')" ).attr('id', 'freigabe-verband'); //setting id for second button (works aswell) $( "a:contains('Vorheriger Einsatz')" ).attr('id', 'vorheriger-einsatz'); $( document ).keydown(function(e) { if (e.keyCode == 39) { //works, id is available, not set by me $("#alert_next").click(); } else if (e.keyCode == 38){ // doesn't work, but id is set $("#freigabe-verband").click(); } else if (e.keyCode == 40){ // doesn't work, but id is set $("#vorheriger-einsatz").click(); } return e.returnValue; }); 

谁知道为什么? http://sofzh.miximages.com/javascript/uy6oGFJ.png

要单击dom元素,请使用: –

 $('#freigabe-verband')[0].click(); 

要么

 $('#freigabe-verband').get(0).click(); 

 $("a").attr('id', 'test'); $(document).keydown(function(e) { $('#test')[0].click(); }); 
  link 

这没有意义。 我复制你的代码并创建一个plunkr,它运作良好。 http://plnkr.co/edit/Eb5QF6mB97Js41NFbr8J?p=preview

 // Code goes here $(function() { //setting id for first button (works) $( "a:contains('Im Verband freigeben')" ).attr('id', 'freigabe-verband'); //setting id for second button (works aswell) $( "a:contains('Vorheriger Einsatz')" ).attr('id', 'vorheriger-einsatz'); $( document ).keydown(function(e) { if (e.keyCode == 39) { //works, id is available, not set by me $("#alert_next").click(); } else if (e.keyCode == 38){ // arrow up $("#freigabe-verband").click(); } else if (e.keyCode == 40){ // arrow down $("#vorheriger-einsatz").click(); } return e.returnValue; }); } ); 
         

Hello Plunker!

Im Verband freigeben
Vorheriger Einsatz

试试这个例子:

 $(document).find("#vorheriger-einsatz").click(); 

事实之后,您将添加到DOM中,除非您再次搜索dom,否则将无法找到它