首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery:检查数据筛选和替换空格

jQuery:检查数据筛选和替换空格
EN

Stack Overflow用户
提问于 2014-01-25 11:37:35
回答 2查看 1.2K关注 0票数 1

我试图让jQuery检查这个列表中的所有数据过滤器,如果它在word之间找到一个空格,它应该替换为",“。(我需要那些课程)。

这是我尝试过的,但是当我检查控制台时,它说“替换不是一个函数”。

HTML

代码语言:javascript
运行
复制
<ul class="filter-list" data-option-key="filter">
    <li>
        <a data-filter=".class one" class="" href="#filter">class one</a>
    </li>
    <li>
        <a class="" href="#filter" data-filter=".class two">class two</a>
    </li>
    <li>
        <a class="" href="#filter" data-filter=".class three">class three</a>
    </li>
</ul>

jQuery

代码语言:javascript
运行
复制
$('.filter-list a[data-filter]').each(function () {
    $(this).replace(/\s/g,", .");
});

基本上,当jQuery找到".class三“时,应该将其替换为".class .three”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-25 11:39:43

你可以用.attr()来做

代码语言:javascript
运行
复制
$('.filter-list a[data-filter]').attr('data-filter', function (i, attr) {
    return attr.replace(/\s+/g, ", .");
});

演示:小提琴

您的代码失败,因为在each()处理程序中,this引用dom元素,$(ths)返回一个没有替换方法的jQuery对象

票数 2
EN

Stack Overflow用户

发布于 2014-01-25 11:48:58

在您的代码中:

代码语言:javascript
运行
复制
$('.filter-list a[data-filter]').each(function () {
  $(this).replace(/\s/g,", .");
});

$(this)是一个DOM元素。您可以通过$(this).text()获取文本。因此,您的代码可以是这样的:

代码语言:javascript
运行
复制
$('.filter-list a[data-filter]').each(function () {
  $(this).text($(this).text().replace(/\s/g,", ."));
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21350018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档