jQuery 如何执行以下操作

jQuery how to do the following

我有以下问题,假设我们有这样一个 div:

这些是动态格式化的 divs,classes 'row'、'element' 和 'isotope-item' 始终存在。介于两者之间的所有内容都可能因 div.

而异

我想要的是以下内容:

如您所见,逗号不再存在,逗号之间的分隔 class 现在是一个 class。

有人知道吗?

我已经有了以下内容来删除逗号:

$('div.element').each(function () {
        var _sCurrClasses = jQuery(this).attr('class');
        jQuery(this).attr('class', _sCurrClasses.replace(/,/g, ' '));
    });

我不认为 class 他们的工作方式与您认为的不同

您发布的第一张图片会导致 div 具有以下 classes

  • 元素
  • 微软
  • 办公室,
  • 我的
  • SQL,
  • 排名
  • 同位素项目

请注意,是 class

的一部分

你要,照第二张PICTURE

  • 元素
  • MicrosoftOffice
  • MySQL
  • 排名
  • 同位素项目

删除 , 就像您发布的那样...问题是,您如何确定要删除哪些空格,保留哪些空格?

(我将此作为答案发布,但我知道这不是答案)

我建议做这个后端,但在 JavaScript 你可以: 不过,这不会解释单词中的 space。 您需要一个接一个地分别通过然后更换。 或者在需要时将它们存储在数据属性和格式中。

<string>
var classesFormat = classes.replace(/,/g, '');
var classesList = classesFormat.split(" ");

for(String c : classesList)
{
    $("#id").addClass(c);
}
</string>

所以您可以为每个人创建一个数据属性。 遍历每一个,格式化并添加到 class.

<div data-id="Microsoft Office," class="test test test">

配合剧本

$(this).attr("data-id") // will return the string "Microsoft Office,"

或 .data() (如果您使用较新的 jQuery >= 1.4.3)

$(this).data("id") // will return the Microsoft Office,

然后进行替换和添加类。