javascript
  • jquery
  • jquery-selectors
  • 2015-01-31 2 views 1 likes 
    1

    В HTML у меня есть следующий элемент:Как работает этот селектор?

    HTML

    <input id="userNameTxt" type="text" class="input" value='ABC> 
    

    И я, выбрав его, как это в JQuery:

    APP.js

    $(userNameTxt).val() 
    

    Что это выбор селектора? (Как и при использовании $('.something') -> это выбор Class элемента или $('#something') это идентификатор выбора.)

    Казалось бы, выбрав идентификатор, но это похоже на селектор #? Если да, то когда использовать такой селектор?

    +0

    есть объявление переменной для userNameTxt в другой части вашей JavaScript? – theatlasroom

    +0

    Когда вы выберете с идентификатором, он вернет только один элемент, первый сопоставленный элемент в DOM, но когда вы используете селектор классов, он вернет весь элемент DOM. Поскольку вы можете применить аналогичный класс к нескольким элементам. Поэтому, когда вы хотите выбрать более одного элемента, примените к ним один и тот же класс и используйте селектор классов, и когда вы хотите получить один уникальный элемент, используйте селектор id –

    +0

    . Ваш вопрос не говорит нам, что такое селектор. Каково значение 'userNameTxt'? –

    ответ

    3

    Это потому, что функция браузера будет создавать глобальные переменные с свойствами идентификатора элемента.

    Если вы используете console.log(userNameTxt), вы сможете увидеть, как элемент регистрируется, поэтому в вашем случае вы передаете dom element reference to jQuery, который является допустимым параметром.

    console.log(userNameTxt); 
     
    console.log(somename);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
     
    <input id="userNameTxt" type="text" class="input" value='ABC' /> 
     
    <div id="somename"></div>

    +0

    Правильно Я не создаю ничего подобного var userNameTxt = "#userNameTxt"; Итак, вопрос: если у меня есть несколько элементов с одним и тем же идентификатором (я знаю, что я не должен иметь одинаковые идентификаторы), будет ли он автоматически создавать глобальный массив элементов? –

    +0

    @Gaurav_soni Идентификатор элемента должен быть уникальным .... но он похож, по крайней мере, на хром, он создает массив - [Fiddle] (http://jsfiddle.net/arunpjohny/xfmw275z/1/). –

    Смежные вопросы