【问题标题】:jQuery - find text wrapped in brackets?jQuery - 查找括在括号中的文本?
【发布时间】:2012-11-29 23:15:02
【问题描述】:

我有导航项目,其中一些有一个标签,然后是一小段文字,它们用括号括起来。我需要缩小这个文本。

我知道如何进行查找和替换...但我不知道如何实现这一点。因此,如果我的导航项中的文本是:

ADF(澳大利亚国防人员)

我想给括号 + 文本一个新的类,这样它们会更小

这可能吗?

谢谢

【问题讨论】:

    标签: jquery styles find replace addclass


    【解决方案1】:

    你可以做这样的事情。 (显然您可以将new_class 更改为您想要的任何类名)。 Here is a link 在那里你可以查看它的实际操作。

    HTML

    <ul>
      <li id="ADF">ADF (Australian Defence Personnel)</li>
    </ul>
    

    CSS

    span.new_class {
      font-size: 11px;
    }
    

    JavaScript

    $('#ADF').html($('#ADF').html().replace(/(\([^)]+\))/, 
                                     '<span class="new_class">$1</span>'));
    

    【讨论】:

    • jsfiddle 有面板可以放置您的 cssjavascript。使用它们而不是将它们包含在html 面板中。像这样jsfiddle.net/fpZKG/1
    【解决方案2】:

    一个非常简单的解决方案(也很天真)是使用

    $('#text').text().replace('(', '<span class="small">(').replace(')', ')</span>')
    

    如果你的文本有结构

    <div id="text">ADF (Australian Defence Personnel)</div>
    

    并且括号中总是只有一段文本...这会起作用,但是对于更健壮但更复杂的内容,您可以使用正则表达式

    $('#text').text().replace(/.*?(\(.*?\)).*?/, '<span class="small">$1</span>')
    

    jquery 可以很容易地找到任何元素。使用

    $('#someId').text()
    

    将为您提供该元素的文本,然后replace 是常规 Javascript 而不是 jquery。

    【讨论】:

      猜你喜欢
      • 2019-03-10
      • 2013-05-27
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      • 2015-02-19
      相关资源
      最近更新 更多