【问题标题】:Select div class name with jquery使用 jquery 选择 div 类名
【发布时间】:2015-06-09 02:27:03
【问题描述】:

我想用 jquery 选择二等值。例如;

<div class="mb-20"></div>

如何从 "mb-" 获得 "20" 值?

【问题讨论】:

  • 没有“第二”类值,这是一个单一的类名
  • 如果你想使用以20结尾的类来定位每个元素,你可以使用$('[class$="20"]')
  • 您将从字符串“mb-20”中解析“20”。如何定义解析值的模式取决于您。您可以在“-”处拆分字符串并获取第二个索引或最后一个索引。您可以将“mb-”替换为空。您可以从索引 3 开始获取子字符串。等等。您拥有的是一个字符串。你想要的是那个字符串的一部分。确定为您提供该部分的模式,并实施它。

标签: jquery class classname


【解决方案1】:

这里是您需要的示例,以说明我在单击 div 时所做的。

// The selector just get all class starting with mb
$('[class^="mb"]').on('click', function() {
   alert($(this).attr('class').split('-')[1]);
});

这里是FIDDLE

【讨论】:

  • 非常感谢您的帮助。只是有一个问题,当您添加更多类时,它也会占用它; jsfiddle.net/hfezwfqj/1
【解决方案2】:

如果你已经选择了 div,你可以遍历它的类,并用连字符分割每个类。比如……

$.each($('div').attr('class').split(/s+/), function(idx, val) {
    var parts = val.split('-');
    var classBase = parts[0];
    var classModifier = parts.length > 1 ? parts[1] : null;

    if(classModifier !== null) alert("found class modifier" + classModifier);
});

【讨论】:

    【解决方案3】:

    如果divs 有多个类,你可以这样做:

    $('[class^="mb"]').on('click', function() {
         alert($(this).attr('class').split(' ')[0].split('-')[1]);
    });
    

    这将首先获得第一类元素,第二,将其与-分开并返回数字。

    Here is the updated Gonzalo Bahamondez's fiddle.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-29
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      • 1970-01-01
      相关资源
      最近更新 更多