Javascript jQuery使用小写,然后应用大写CSS样式
我有一些html链接值,我需要从大写字母转换回小写字母,然后用大写字母设置样式。。。问题的根源在于它已经以大写形式出现了,但我无能为力,因此这是我的解决方法: HTML:Javascript jQuery使用小写,然后应用大写CSS样式,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一些html链接值,我需要从大写字母转换回小写字母,然后用大写字母设置样式。。。问题的根源在于它已经以大写形式出现了,但我无能为力,因此这是我的解决方法: HTML: <div class="block1"> <p><a href="#">SECTION TITLE</a></p> <ul> <li><a href="#">LINK TITLE</a></li&g
<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('.block1 ul li a').each(function() {
var linkText = jQuery(this).html();
linkText.toLowerCase();
jQuery(this).css("text-transform", "capitalize");
});
目前,我没有看到通过linkText.toLowerCase()将其转换回小写代码>我确实看到文本转换代码被添加到每个链接中,但仅此而已
如果我正确理解了您的问题(toLowerCase
不工作),那么
更新自
linkText.toLowerCase();
到
如果我正确理解了您的问题(toLowerCase
not working),那么
更新自
linkText.toLowerCase();
到
为了实现这一点,您需要在将CSS规则应用于元素之前,首先将元素的文本设置为小写
还要注意,为了更好地分离关注点,您应该使用类而不是内联属性来应用规则,而且也不需要each()
循环。试试这个:
$('.block1 ul li a').text(函数(i,t){
返回t.toLowerCase();
}).addClass(“大写”)代码>
。大写{
文本转换:大写;
}
要使其起作用,您需要在将CSS规则应用于元素之前,先将元素的文本小写
还要注意,为了更好地分离关注点,您应该使用类而不是内联属性来应用规则,而且也不需要each()
循环。试试这个:
$('.block1 ul li a').text(函数(i,t){
返回t.toLowerCase();
}).addClass(“大写”)代码>
。大写{
文本转换:大写;
}
您可以更改变量linkText
,但不将小写字符串指定给
元素。相反,请尝试:
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;
}
您可以更改变量linkText
,但不将小写字符串指定给
元素。相反,请尝试:
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;
}
选中此项:
选中此项:
你可以使用$
而不是jQuery
@sko是的,我访问了这个问题,但我不了解结果。你可以使用$
而不是jQuery
@sko。是的,我访问了这个问题,但我不了解结果。非常好@nikhil,非常感谢。我是JS&jQuery新手,所以这一行让我很困惑。如果我已经在第2行设置了,为什么还要再次使用.html()
?因为需要将字符串转换为小写,然后将其替换回DOM中element@Jake-正如Ish所指出的,第一个是getter,要设置值,需要传递值。有关详细信息,请参阅此处的文档-Excellent@nikhil,谢谢!我是JS&jQuery新手,所以这一行让我很困惑。如果我已经在第2行设置了,为什么还要再次使用.html()
?因为需要将字符串转换为小写,然后将其替换回DOM中element@Jake-正如Ish所指出的,第一个是getter,要设置值,需要传递值。有关详细信息,请参阅此处的文档-感谢您向我展示如何将其浓缩。非常有帮助。非常欢迎您,我很高兴能够提供帮助!:)谢谢你教我如何把这些浓缩起来。非常有帮助。真的非常欢迎你,我很高兴能帮上忙!:)