javascript - 意外的 jquery .last() 行为

标签 javascript jquery jquery-selectors

我正在尝试为我的网站构建自定义关键字字段,

问题是我有一个输入 div 支架,我通过单击按钮附加输入,但我检查

$('div inputs').last().val().length < 3

如果它小于 3 我摇动输入,否则:

$('div inputs').last().after('<input type="text" />')

问题是:

$('div 输入').last().val()

总是返回第一个输入值,我做错了什么?

DEMO

最佳答案

您已将输入缓存在顶部,因此您始终使用同一组输入控件 - 一个。

在回调中定义您的输入变量,它将起作用:

$('body').on('click','#addkey',function(e){
    var inputs = $('#keysInput input');

    if(inputs.last().val().length < 3){
        $('#keysInput input').last().effect("shake", { times:1, distance: -5 }, 300);
    }else{
        console.log(inputs.last().val());
        $('#keysInput input').last().after('<input type="text" placeholder="type another keyword" />');            
    }
})

关于javascript - 意外的 jquery .last() 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10955867/

相关文章:

类似于 Windows XP 的 jQuery 淡入淡出菜单

javascript - 如何制作一个可以将任何看起来像 javascript 代码的字符串转换为对象的函数?

jquery - 使用 jQuery UI 在滚动区域中可拖动

javascript - 如何取消对话框中的自定义 window.onscroll 函数,恢复正常行为?

jquery - 通过 jQuery 将 url 发送到 iframe

javascript - 使用 jQuery 访问两种类型的输入

javascript - 进入dom时匹配img src的一部分并添加一个类到匹配的<p>标签 - jquery

javascript - ember.js 中的 view.Image 是什么?

javascript - String.Format 在 TypeScript 中不起作用

javascript - 将绝对坐标转换为相对坐标