jQuery如何做到以下几点

时间:2015-07-22 10:00:27

标签: javascript jquery html css jquery-isotope

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

enter image description here

这些是动态格式化的div,其中“row”,“element”和“isotope-item”类始终存在。介于两者之间的所有内容都可能因div而异。

我想要的是以下内容: enter image description here

正如您所看到的那样,公共区域不再存在,并且逗号之间的单独类别现在是一个类。

任何人都有任何想法?

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

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

2 个答案:

答案 0 :(得分:2)

我建议你做这个后端,但是在JavaScript中你可以: 这不会占到单词中的空格。 你需要逐个通过然后逐个通过并替换。 或者在需要时将它们存储在数据属性和格式中。

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

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

所以你可以为每一个创建一个数据属性。 浏览每一个,格式和添加到类。

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

使用脚本

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

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

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

然后在那之后进行替换并添加类。

答案 1 :(得分:1)

我认为课程不像你认为的那样工作

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

  • 元素
  • 微软
  • Office,
  • 我的
  • SQL,
  • Page
  • 排名
  • 同位素项

注意,是类的一部分

根据第二张图片

,你想要的
  • 元素
  • 的MicrosoftOffice
  • MySQL的
  • Page
  • 排名
  • 同位素项

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

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