【发布时间】:2013-08-10 21:35:46
【问题描述】:
好吧,我正在尝试使用 jQuery 和 bootstrap 制作一个 PHP 页面构建器。
除了能够看到列大小的变化之外,我几乎可以正常工作。
我的问题是我不确定如何替换列大小类变量,该变量可能介于 col-lg-1 到 col-lg-12 之间
所以使用 jquery 我希望能够做到以下几点。
- 根据类获取当前列大小:所以如果列是
col-lg-4我想得到4 - 根据用户选择的方向将 4 替换为 3 或 5。
- 删除类
col-lg-4并添加类col-lg-3或col-lg-5
通过这种方式,用户可以在屏幕上看到该列的大小。
提供更多信息。这是HTML
<div class="col-lg-4 bs-example-popover">
<div class="popover" style="width:100%;">
<h3 class="popover-title">[Module Title] <button type="button" class="close">×</button></h3>
<div class="popover-content">
<p>[Module Description]</p>
<ul class="list-unstyled">
<li class="pull-right"><button class="btn btn-default btn-xs"><span class="icon-icomoon-arrow-right"></span></button></li>
<li class="pull-right"> </li>
<li class="pull-right"><button class="btn btn-default btn-xs"><span class="icon-icomoon-arrow-left"></span></button></li>
<li> </li>
</ul>
</div>
</div>
</div><!-- /column -->
我的基本 JS 将获得父级和按钮。但是我不知道如何只获取类的大小,然后加减,最后替换类。
$('.page-builder-column ul li .btn').on('click', function(e) {
e.preventDefault();
var _btn = $(this).find('span'),
_parent = $(this).parents().eq(4);
if (_btn.hasClass('icon-icomoon-arrow-right')) {
console.log('larger');
}else{
console.log('smaller');
}
console.log(_parent.hasClass('col-lg-*'));
});
【问题讨论】:
-
你的出发点是什么?列中某处的事件处理程序?
-
是的,我有两个按钮。当您单击按钮时,它们会告诉脚本缩小框或使其更大。目前只有一个控制台日志
-
@T.J.Crowder 添加了基本的 HTML 和 JS 来展示示例。
-
不是一个真正的问题,但你应该把这个
_parent = $(this).parents().eq(4);改成更易于维护的东西,我建议你看看jQuery的closest() -
@koala_dev 只是好奇,为什么这不是“可维护的”?没关系,我明白你的意思。感谢您的建议!
标签: javascript jquery twitter-bootstrap twitter-bootstrap-3