我有一些javascript是在用户点击按钮时生成的:
htmlstring = ''+
'<div class="input_holder">'+
'<div class="as_input_holder"><input tabindex="1" class="as_input form-control-small" id="name">'+
'<div class="as_input_holder_footer">Name</div>'+
'</div>'+
'<div class="as_input_holder"><input tabindex="2" class="as_input form-control-small" id="number">'+
'<div class="as_input_holder_footer">Number</div>'+
'</div>'+
'<div class="as_input_holder"><input tabindex="3" class="as_input form-control-small" id="rank">'+
'<div class="as_input_holder_footer">Rank</div>'+
'</div>'+
'</div>';
$('#as_body').html(htmlstring);
as_body
id已经在另一个动态生成的javascript窗口中(因此当页面加载时它不存在),并且代码几乎完美,但我不能我的生活从输入字段到输入字段工作。我在这里做错了什么?
答案 0 :(得分:1)
我认为问题在于,当您动态添加tabIndexs时,浏览器无法识别该属性。我建议从动态生成的脚本中删除tabindex属性。当您将“htmlString”附加到DOM时,查找新插入的条目“as_input_holder”迭代它们并添加tabIndex
var tabIndex = 1;
$("#as_body").find('.as_input_holder input').each(function(){
$(this).attr('tabIndex', tabIndex);
tabIndex++;
})
这样你就可以将tabIndex附加到你的JS对象上,这应该适用于理论:)。我没有测试它只是一个建议,但我认为这将解决你的问题。
祝你好运!