Сделайте псевдоним document.getElementById в Javascript

Как я могу использовать функцию "document.getElementById" Я видел это, используя $

Спасибо

Ответы

Ответ 1

Возможно самый простой/короткий путь:

function $(id) { return document.getElementById(id); };

Ответ 2

var $ = document.getElemenyById.bind( document );

Ответ 3

Здесь что-то я использую в своей собственной библиотеке. DOM - это класс, а $ - это функция, которая представляет собой краткую реализацию функции getElementById:

function DOM()
{
  this.$ = function(elementIDs)
  {
    var el;

    // If an array of element names is passed.
    if (arguments.length > 1) 
    {
      var elements = [];
      var length = arguments.length;
      for (var i = 0; i < length; i++)
      {
        // Call this function recursively for each passed parameter.
        elements.push(this.$(arguments[i]));
      }
      return elements;
    }

    // If a single element name is passed.
    if (typeof(elementIDs) == "string")
    {
      el = document.getElementById(elementIDs);
    }
    return el;
  }
}

Использование:

var el = new DOM().$("elementID");

Вы можете использовать его в элементе окна верхнего уровня.

Ответ 4

Новые функции, представленные в ES6, позволяют нам улучшить ответ Криса Ллойда, упрощая:

function $(id) { return document.getElementById(id); };

в

const $ = id=> document.getElementById(id);

Ответ 5

function $( s ) {
    return document.getElementById( s ) ? document.getElementById( s ) : "";
}

$( "myId" );

Предполагается, что вы хотите использовать функцию доллара (селектор) для получения идентификатора. Я не тестировал это, но он должен работать.

В прошлый раз, когда я смотрел на ядро ​​jQuery, он принял строку в качестве аргумента, а затем использовал регулярное выражение для определения того, какой тип селектора был.

Ответ 6

facebook connect-js делает следующее в src/core/prelude.js:

if (!window.FB) {
  FB = {
    // ...
    $: function(id) {
      return document.getElementById(id);
    }
    // ...
  }
}

Затем, чтобы использовать его, выполните следующие действия:

FB.$('name-of-id');

Начальный блок создает глобальный объект FB. Они используют этот объект, FB, как пространство имен и определяют все свои объекты, свойства и функции внутри него. Таким образом, он будет работать с другим кодом JavaScript, если этот другой код не использует глобальный объект FB.

Ответ 7

Когда вы видели функцию $(), это была, вероятно, некоторая библиотека, такая как jQuery или Prototype. Функция $не является псевдонимом для document.getElementById, но является оболочкой, расширяющей функциональность функции.

Чтобы создать свою собственную оболочку, вы можете написать функцию "alias":

var alias = document.getElemenyById;

или

function alias(id) { return document.getElementById(id); }

Но на самом деле я бы использовал одну из доступных библиотек, такую ​​как jQuery или Prototype.