在HTML中识别每个(使用过的)元素是不好的做法吗?

时间:2014-06-12 18:39:55

标签: javascript jquery html html5 jquery-selectors

我想知道使用jquery在html页面中操作某些元素的最佳做法是什么。现在,我有一个面板,其中包含一个输入框,复选框,提交/重置/测试按钮。现在我为每个元素分配了一个id,这样我就可以在更改/选择每个元素时采取适当的操作。但是,我觉得通过id分配和管理每个元素,我的代码变得非常混乱和难以理解。我知道浏览器通过id选择是有效的,但是最好简单地给面板/表单一个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 个答案:

答案 0 :(得分:1)

我将id包含在页面中包含页面子集的主要元素中,以及我希望直接访问的重要且独特的元素。我不会为每个列表项,链接或div提供ID,因为它会使代码混乱,并且它是潜在的维护噩梦。您不会选择页面的大多数元素,并且您经常会同时访问多个元素 - 类对此非常有用。

因此,虽然你是正确的,通过id访问元素是非常快速和有效的,选择器系统是强大和有用的,因为你可以通过各种方式选择元素。利用其他选择方法,您将使用jQuery完成更多工作。

答案 1 :(得分:1)

请记住,ID是唯一标识符,因此应具有更具体的名称。我只会在实际需要时使用它们,并且当一个类不是识别它们的更好方法时。

堆积在类上,但更谨慎地使用ID。在编写我的第一个MVC应用程序时,我也在努力解决这个问题。祝你好运!

不要忘记StackOverflow上还有一个code review网站。