jQuery元素与append()一起使用但不在()之后

Dan*_*tos 1 html javascript jquery append jquery-after

如果启用了CAPS锁定,我正在修改脚本以在密码字段上显示警告.

如果我使用该append()方法,我正在构建的元素被添加到页面中,但是它不是非常可扩展的,因为它依赖于具有相关父元素的密码字段.我想要做的是添加after()密码字段,但是当我这样做时显示为[object Object].

这是我到目前为止所拥有的:

$(document).ready(function(){
  $(":password").bind("keypress", function(e) {
    el = jQuery('<div/>', {
      id: 'caps_warning',
      text: 'CAPS lock is on'
    })

    kc = e.keyCode ? e.keyCode : e.which;
    sk = e.shiftKey ? e.shiftKey : ((kc == 16) ? true : false);

    if(((kc >= 65 && kc <= 90) && !sk) || ((kc >= 97 && kc <= 122) && sk)) {
      el.appendTo(e.currentTarget.parentElement);
    } else {
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

我想替换el.appendTo(e.currentTarget.parentElement);e.currentTarget.after(el);.

cha*_*tfl 5

e.currentTarget是一个dom节点,而不是一个jQuery对象.它也是一样的this

尝试

$(this).after(el)
Run Code Online (Sandbox Code Playgroud)