我正在尝试实现 Bootstrap glyphicon-plus 和 glyphicon-minus。但是当我点击时glyphicon-plus
,它没有击中控件。我想我在 JQuery 代码中做错了什么。请指导我。先感谢您。
//我的JavaScript
$('.collapse').on('shown.bs.collapse', function () {
$(this).closest('div#aa').prev("a").find("span.glyphicon-plus").removeClass("glyphicon-plus").addClass("glyphicon-minus");
}).on('hidden.bs.collapse', function () {
$(this).closest('div#aa').prev("a").find("span.glyphicon-minus").removeClass("glyphicon-minus").addClass("glyphicon-plus");
});
//查看代码
<div class="panel panel-default">
<div class="panel-heading">
Search
</div>
<div id="aa" class="panel-body">
@Html.TextBoxFor(m => m.txtA, new {@class = "form-control"})
<a id="advance" href="#" class="control-label"><span class="glyphicon glyphicon-plus"></span></a>
</div>
</div>
<div id="advancedcontainer" class="collapse">
<div class="panel panel-default">
<div class="panel-body">
@Html.LabelFor(model => model.StartDate, "Start Date")
@Html.TextBoxFor(m => m.StartDate, new { @class = "form-control", style = "width: 155px", placeholder = Html.DisplayNameFor(n => n.StartDate) })
@Html.ValidationMessageFor(model => model.StartDate, "", new { @class = "text-danger" })
@Html.LabelFor(m => m.Distance)
@Html.DropDownListFor(m => m.Distance, Model.DistanceOptions, "--Please Select--", new { @class = "form-control", style = "width: 150px;" })
@Html.ValidationMessageFor(m => m.Distance)
</div>
</div>
</div>
您不能使用closest('div#aa')
. closest
会找到父母。
.collapse
并且panel panel-default
是兄弟姐妹。
应该是$(this).parent().find('#advance span')
先找到parent,然后你会找到span。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句