Является ли плохой практикой идентифицировать каждый (используемый) элемент в HTML?

Мне интересно, как лучше всего манипулировать определенными элементами на html-странице с помощью jquery. В настоящее время у меня есть панель со встроенной формой, которая включает в себя поле ввода, флажок, кнопки отправки / сброса / тестирования. Прямо сейчас у каждого из этих элементов есть свой идентификатор, чтобы я мог выполнять соответствующие действия при изменении / выборе каждого элемента. Тем не менее, я чувствую, что мой код становится довольно грязным и нечитаемым, назначая и управляя каждым элементом по id. Я знаю, что для браузеров эффективнее выбирать по идентификатору, но лучше ли просто дать ID панели / форме, а затем вызвать различные селекторы внутри панели / формы? Есть ли какие-либо предложения по выбору некоторых элементов, которым я присвоил идентификаторы ниже? (Те, которые я изменяю.. и т. Д.). Спасибо!

        <div class="row">
        <div class="col-lg-6">
            <div class="panel panel-default" id="sample_panel">
                <div class="panel-heading">
                    Heading
                </div>
                <div class="panel-body">
                    <form role="form" id="form1">
                        <div class="form-group">
                            <h4>Subheading</h4>
                            <div class="form-group input-group">
                                <span class="input-group-addon" id="input_addon">some_text</span>
                                <input type="text" id="input1" class="form-control" placeholder="Enter text">
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="checkbox">
                                <label>
                                    <span class="help-block">
                                        <input type="checkbox" id="cb1" >some_text
                                    </span>
                                </label>
                            </div>
                        </div>
                        <button type="submit" class="btn">Submit</button>
                        <button type="reset" class="btn id="reset_btn">Reset</button>
                        <button type="button" class="btn" id="test_btn">Test</button>
                        <i id="some_image"></i>
                    </form>
                </div>
                <div class="panel-footer" id="footer"></div>
            </div>
        </div>
        <!-- /.col-lg-6 -->
    </div>
    <!-- /.row -->

2 ответа

Решение

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

Куча на классы, но использовать идентификаторы немного экономнее. Я также боролся с этим, когда писал свое первое приложение MVC. Удачи!

Не забывайте, что на Stackru есть сайт для проверки кода.

Я даю идентификаторы основным элементам на странице, которые содержат подмножества страницы, а также важные и уникальные элементы, к которым я хотел бы иметь прямой доступ. Я не даю идентификатор каждому элементу списка, ссылке или div, потому что он загромождает код и является потенциальным кошмаром обслуживания. Вы не будете выбирать большинство элементов страницы, и вы будете часто обращаться к нескольким элементам одновременно - классы для этого гораздо более полезны.

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

Другие вопросы по тегам