[英]traversing dom elements for right jquery selector
鉴于以下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);
您的CSS语法不正确。 尝试这个:
$('#form-register .form-group div.input-group > input').attr('disabled', true);
首先,注意前两个选择器之间的空间,因为.form-group
是#form-register
的子.form-group
。 其次, >
表示'直接子',因此在div.input-group
上使用时不正确。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.