如何从多个ID获取单个ID

时间:2018-05-15 13:10:59

标签: javascript jquery

我接近我的结果但是我得到了一些id,现在我一次发送一个光标输入框。 我在控制台上显示了一系列id 看看

enter image description here

我怎么只得到一个'iD'。你在图像中看到很多东西,但我只想要一个我的光标聚焦的id。

$(function(){
        var $write = $( "input[type=text]" ).focus(function() {
        shift = false,
        capslock = false;
        backspace  = false;
        console.log(Object.values($write));
            $('#keyboard li').click(function(){
                var $this = $(this),
                    character = $this.html(); 

                // Shift keys
                if ($this.hasClass('left-shift') || $this.hasClass('right-shift')) {
                    $('.letter').toggleClass('uppercase');
                    $('.symbol span').toggle();

                    shift = (shift === true) ? false : true;
                    capslock = false;
                    backspace  = false;
                    return false;
                }

                // Caps lock
                if ($this.hasClass('capslock')) {
                    $('.letter').toggleClass('uppercase');
                    capslock = true;
                    return false;
                }

                // backspace lock
                if ($this.hasClass('backspace')) {
                    $('.letter').toggleClass('uppercase');
                    capslock = true;
                    return false;
                }

                // Delete
                    if ($this.hasClass('delete')) {
                        var html = $write.html(),
                        txt = html.substr(0, html.length - 1);
                      $write.html(txt);
                      $write.autocomplete("search", txt);
                      return false;
                    }
                    // Delete

                // Special characters
                if ($this.hasClass('symbol')) character = $('span:visible', $this).html();
                if ($this.hasClass('space')) character = ' ';
                if ($this.hasClass('tab')) character = "\t";
                if ($this.hasClass('return')) character = "\n";

                // Uppercase letter
                if ($this.hasClass('uppercase')) character = character.toUpperCase();

                // Remove shift once a key is clicked.
                if (shift === true) {
                    $('.symbol span').toggle();
                    if (capslock === false) $('.letter').toggleClass('uppercase');

                    shift = false;
                }
                //console.log("DO IT ", character);
                // Add the character
                $write.val($write.val() + character);       
                $write.html(txt);
                $write.autocomplete("search", txt);


            }); 
        });
        });

1 个答案:

答案 0 :(得分:0)

问题有点令人困惑,但我会试一试:

  1. 它打印了很多东西,因为你正在做console.log(Object.values($write));,你打印的是所选对象的所有值,而不仅仅是id。
  2. 只打印对象id的语法是:console.log($myObject.attr('id'));

    1. 如果您尝试使用许多元素共享的属性(不是唯一的),请使用Class而不是Id。您将获得一个对象数组,您可以通过它们进行解析或通过索引获取它们。