o_O*_*o_O 32 javascript each jquery dynamic dynamically-generated
有很多问题似乎都在问这个问题,但最终他们想要的只是附加.click事件而不是.each,因此所有人都普遍接受的答案包括$("body").on("click", ".selector", function(){});,这绝对不是我想要的.
我有一些生成的输入,我需要同时更改每个输入的值.通常我会$(".inputs").each(function(){$(this).val("new-value")};或那些沿着这些线,但是,我不能因为动态方面.
那你怎么办$("body").on("each", ".inputs", function(){});?
实际上,它就像在setTimout中运行.each一样简单.
setTimeout(function(){
$(".inputs").each(function(){$(this).val("new-value")});
}, 5000);
Run Code Online (Sandbox Code Playgroud)
$.each 适用于添加的任何新元素。
每次都做不同的事情:
这是更好的脚本,完全符合OP的要求。
function doWithInput(i, e){
$(e).val("done with each");
}
$(document).ready(function(){
$("#button").click(function(){
$("#inputs").append("<input class='inputs_new' type='text' /><br />");
});
$(".inputs").each(doWithInput);
});
$(document).on("DOMNodeInserted", ".inputs_new", function(e) {
$(e.target).removeClass('inputs_new').addClass('inputs');
doWithInput(0, e.target);
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="inputs">
<input class="inputs" type="text" placeholder='type in me' /><br />
</div>
<button type="button" id="button">Add</button>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35850 次 |
| 最近记录: |