假设你有以下的html文件:jQuery的避免正常的按钮进行选择时:提交
<form class="" ng-submit="CTRL.submit(CTRL.academy)" submit-throbber>
<div class="modal-body">
<div class="row">
<div class="col-xs-12 b-r" style="margin-top: 10px;">
<div class="form-group">
<label translate="FORMS.NAME"></label>
<input class="form-control" placeholder="{{ 'FORMS.NAME_PLACEHOLDER' | translate }}"
ng-model="CTRL.academy.name" required="">
</div>
<label translate="FORMS.DESCRIPTION"></label>
<textarea class="form-control" placeholder="{{ 'FORMS.DESCRIPTION_PLACEHOLDER' | translate }}"
ng-model="CTRL.academy.description"
style="height: 300px; margin-top: 0px; margin-bottom: 0px;"></textarea>
</div>
</div>
</div>
<div class="lb-modal-footer">
<button class="btn btn-default" tooltip="{{ 'TOOLTIP.CANCEL' | translate }}" ng-click="CTRL.cancel()"><i
class="fa fa-ban"></i></button>
<button type="submit" class="btn btn-success m-l-xs" tooltip="{{ 'TOOLTIP.SAVE_AND_EXIT' | translate }}"><i
class="fa fa-check-square-o"></i></button>
</div>
现在,当我使用jQuery找到提交按钮我做的:$('form').find(':submit')
然而,在上述情况下,找出两个结果(我的两个按钮)
这部作品准确地根据documentation
但是有没有办法避免 这个?
_ “这正常工作根据文档” _ - 只有当你_为 “...指定类型属性。”第一个按钮。文档说,总是为按钮指定一个'type'属性以使其始终如一地工作。将'type =“button”'添加到您的第一个不提交按钮。 – War10ck
当然,它会有2个结果,因为它们都是'button',但其中一个属性是'type = submit',你应该过滤它。相似的,如果你想选择'div'元素有很多,但是如果你想要一个特定的'div',你可以给这个元素赋一个'id'或者一些像'name =“target”'这样的唯一值的属性,或者你可以把像':first',':'等伪选择器的帮助,如果这些都适用。 –