【问题标题】:replace class name without full class name替换没有完整类名的类名
【发布时间】:2013-08-10 21:35:46
【问题描述】:

好吧,我正在尝试使用 jQuery 和 bootstrap 制作一个 PHP 页面构建器。

除了能够看到列大小的变化之外,我几乎可以正常工作。

我的问题是我不确定如何替换列大小类变量,该变量可能介于 col-lg-1col-lg-12 之间

所以使用 jquery 我希望能够做到以下几点。

  1. 根据类获取当前列大小:所以如果列是col-lg-4我想得到4
  2. 根据用户选择的方向将 4 替换为 3 或 5。
  3. 删除类col-lg-4并添加类col-lg-3col-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">&times;</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">&nbsp;</li>
                <li class="pull-right"><button class="btn btn-default btn-xs"><span class="icon-icomoon-arrow-left"></span></button></li>
                <li>&nbsp;</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


【解决方案1】:

您可以执行以下操作:

_parent.attr('class').match(/\d+/)[0]

这将返回4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    相关资源
    最近更新 更多