鉴于以下html片段,我似乎无法使用class =" input-group"
访问div下的输入元素 <form action="login.html#register" method="post" id="form-register" class="form-horizontal display-none">
<div class="form-group">
<div class="col-xs-6">
<div class="input-group">
<span class="input-group-addon"><i class="gi gi-user"></i></span>
<input type="text" id="register-firstname" name="register-firstname" class="form-control input-lg" placeholder="Firstname">
</div>
</div>
<div class="col-xs-6">
<input type="text" id="register-lastname" name="register-lastname" class="form-control input-lg" placeholder="Lastname">
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<div class="input-group">
<span class="input-group-addon"><i class="gi gi-envelope"></i></span>
<input type="text" id="register-email" name="register-email" class="form-control input-lg" placeholder="Email">
</div>
</div>
</div>
</form>
我尝试了很多选择器语法,但似乎没有任何工作。我无法弄清楚为什么这个版本不起作用,当然应该这样,但我还不是JQuery的专家。 对我来说,下面的语法是在带有id form-register的元素中获取带有class form-group的所有项,然后获取所有带有class input-group的div,然后获取这些div中的所有输入标记。我错了吗?
$('#form-register.form-group > div.input-group > input').attr('disabled', true);
正确的语法是通过接受答案的帮助;
$('#form-register div[class^="col-xs"] input').attr('disabled', true);
答案 0 :(得分:2)
您的CSS语法不正确。试试这个:
$('#form-register .form-group div.input-group > input').attr('disabled', true);
首先,请注意前两个选择器之间的空格,因为.form-group
是#form-register
的子项。其次,>
表示&#39;的直接孩子,因此在div.input-group
上使用时不正确。