如何小写一个特定的字母?
How to lowercase one specific letter?
情况是这样的:我正在开发一个 Wordpress 主题,页面上的所有标题(h1、h2、h3、h4、h5、h6)都需要大写,除了一个字母,字母: 我。这封信需要小写。示例:这封信需要小写。
我正在寻找一种不需要在 WP admin 中手动输入大写字母的解决方案,因为我不想以这种方式将其存储在数据库中。有什么办法可以实现吗?
您可以使用 document.querySelectorAll("h1, h2, h3, h4, h5, h6")
找到需要更新的元素,其中 returns 和 array-like NodeList
元素。然后您 loop through it 处理每个元素。
您可以使用他们的 textContent
属性 获取和设置他们的文本。 (如果它们可能有后代元素,那就更复杂了,比如 <h1>Hi <em>there</em></h1>
。)
您可以使用 replace
:
将 i
以外的字符串中的所有字符更改为大写
element.textContent = element.textContent.replace(/[a-hj-z]+/g, str => str.toLocaleUpperCase());
如果您需要处理上述 English-centric 正则表达式之外的字符,一个简单的选择是使用 [^i]
:
element.textContent = element.textContent.replace(/[^i]+/g, str => str.toLocaleUpperCase());
在类似 1
的东西上使用 toLocaleUpperCase
只是 returns 它不变。
情况是这样的:我正在开发一个 Wordpress 主题,页面上的所有标题(h1、h2、h3、h4、h5、h6)都需要大写,除了一个字母,字母: 我。这封信需要小写。示例:这封信需要小写。
我正在寻找一种不需要在 WP admin 中手动输入大写字母的解决方案,因为我不想以这种方式将其存储在数据库中。有什么办法可以实现吗?
您可以使用 document.querySelectorAll("h1, h2, h3, h4, h5, h6")
找到需要更新的元素,其中 returns 和 array-like NodeList
元素。然后您 loop through it 处理每个元素。
您可以使用他们的 textContent
属性 获取和设置他们的文本。 (如果它们可能有后代元素,那就更复杂了,比如 <h1>Hi <em>there</em></h1>
。)
您可以使用 replace
:
i
以外的字符串中的所有字符更改为大写
element.textContent = element.textContent.replace(/[a-hj-z]+/g, str => str.toLocaleUpperCase());
如果您需要处理上述 English-centric 正则表达式之外的字符,一个简单的选择是使用 [^i]
:
element.textContent = element.textContent.replace(/[^i]+/g, str => str.toLocaleUpperCase());
在类似 1
的东西上使用 toLocaleUpperCase
只是 returns 它不变。