javascript - jQuery toLowerCase 然后应用 Capitalize CSS Style

标签 javascript jquery html css

我有一些 html 链接值,我需要将大写字母转换回小写字母,然后使用大写字母设置样式...问题的根源在于它已经以大写字母形式出现,但我无能为力,所以这个是我的解决方法:

HTML:

<div class="block1">
  <p><a href="#">SECTION TITLE</a></p>
  <ul>
    <li><a href="#">LINK TITLE</a></li>
    <li><a href="#">LINK TITLE</a></li>
    <li><a href="#">LINK TITLE</a></li>
    <li><a href="#">LINK TITLE</a></li>
    <li><a href="#">LINK TITLE</a></li>
    <li><a href="#">LINK TITLE</a></li>
    <li><a href="#">LINK TITLE</a></li>
  </ul>
</div>

jQuery:

jQuery('.block1 ul li a').each(function() {
  var linkText = jQuery(this).html();
  linkText.toLowerCase();
  jQuery(this).css("text-transform", "capitalize");
});

目前,我没有看到通过 linkText.toLowerCase(); 转换回小写字母我确实看到文本转换代码被添加到每个链接,仅此而已。

Fiddle

最佳答案

您更改变量,linkText , 但您没有将小写字符串分配给 <a>元素。相反,请尝试:

jQuery('.block1 ul li a').each(function() {
  var linkText = jQuery(this).html();
  jQuery(this).text( linkText.toLowerCase() );
  jQuery(this).css("text-transform", "capitalize");
});

或者,更简单地说:

jQuery('.block1 ul li a').text(function(index, currentText) {
    return currentText.toLowerCase();
}).css('text-transform', 'capitalize');

或者,更明智的做法是,简单地使用一个 CSS 类来定位所有相关元素并将该类添加到这些元素:

jQuery('.block1 ul li a').text(function(index, currentText) {
    return currentText.toLowerCase();
}).addClass('capitalize');

连同 CSS 类:

.capitalize {
    text-transform: capitalize;
}

关于javascript - jQuery toLowerCase 然后应用 Capitalize CSS Style,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39488313/

相关文章:

javascript - 如何将对象名称添加到表列

javascript - 将CSS更改为具有动画的元素?

php - 带有 Yii 框架的 HTML5Boilerplate

javascript - 为新的表单字段扩展 jQuery 表单验证脚本

javascript - 变量 thisconnection 的值是多少以及如何实现?

javascript - 为什么flow在使用instanceof时会给出uncovered code warning?

javascript - Jquery- offsetLeft 在向右滚动时不起作用

javascript - 使用 slideDown() 和 slideUp() 的 jQuery 显示/隐藏动画效果不流畅

jquery - 添加 jqueryui css 后单击事件未触发

html - 如何隐藏一组图像的顶部?