我想知道使用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 -->
答案 0 :(得分:1)
我将id包含在页面中包含页面子集的主要元素中,以及我希望直接访问的重要且独特的元素。我不会为每个列表项,链接或div提供ID,因为它会使代码混乱,并且它是潜在的维护噩梦。您不会选择页面的大多数元素,并且您经常会同时访问多个元素 - 类对此非常有用。
因此,虽然你是正确的,通过id访问元素是非常快速和有效的,选择器系统是强大和有用的,因为你可以通过各种方式选择元素。利用其他选择方法,您将使用jQuery完成更多工作。
答案 1 :(得分:1)
请记住,ID是唯一标识符,因此应具有更具体的名称。我只会在实际需要时使用它们,并且当一个类不是识别它们的更好方法时。
堆积在类上,但更谨慎地使用ID。在编写我的第一个MVC应用程序时,我也在努力解决这个问题。祝你好运!
不要忘记StackOverflow上还有一个code review网站。