我已经针对类似 问题搜索了多个不同的响应 - 不一样,并尝试了几种不同的可能性。 (将为我尝试过的内容提供链接)
上下文:
这是一个个人元素,出于这项任务的目的,我不允许接触 HTML 代码。我正在尝试使用 JQuery 删除一个类以使用 selector 选择其父类/method :last-of-type
或 .last()
。
这是我已经尝试过的:
HTML:
<fieldset>
<div class="form-group">
<div class="col-sm-8 col-sm-12">
<input class="form-control" id="Username" name="Username" title="Username is a required field." type="text" value="" placeholder="Username">
</div>
</div>
<div class="form-group">
<div class="col-sm-8 col-sm-12">
<input autocomplete="off" class="form-control" id="Password" name="Password" title="Password is a required field." type="password" placeholder="Password">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-4 col-sm-8 col-sm-12">
<div class="checkbox">
<label>
<input id="RememberMe" name="RememberMe" type="checkbox" value="true">
<span>Remember me?</span>
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-4 col-sm-8 col-sm-12">
<button id="submit-signin-local" class="btn btn-primary" title="Sign In">Sign In</button>
<a class="btn btn-default" role="button" href="/ForgotPassword" title="Forgot Password?">Forgot Your Password?</a>
</div>
</div>
</fieldset>
和 JQuery:
var lastForm = $('.form-group').last();
$(lastForm+' div.col-sm-12').removeClass('col-sm-offset-4');
该代码的结果是对 HTML 没有任何更改...该类仍然存在并且没有被删除。我相信这里的问题与 selector 有关。/method .我最初尝试过
$('.form-group div.col-sm-12').removeClass('col-sm-offset-4');
但是查看一堆 StackOverflow 响应,看起来不可能这样做。 jQuery selector with nth-of-type()
我可能在搜索错误的东西,所以它可能是重复的 - 但经过几个小时的搜索 - 我怀疑它
CodePen 适合任何想尝试的人 - https://codepen.io/pen/ERjYXO
最佳答案
你能试试这个吗
var lastForm = $('.form-group').last();
$('div.col-sm-12', lastForm).removeClass('col-sm-offset-4');
这是我的代码和你给定的 html
<script type="text/javascript">
var lastForm = jQuery('.form-group').last();
console.log(lastForm);
jQuery('div.col-sm-12', lastForm).removeClass('col-sm-offset-4');
</script>
关于javascript - 通过多个类和一个方法/选择器选择元素来删除一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50620960/