此查询执行所有转换,但不执行"第一个字母",是否有特定的方法来执行此操作:
这是我的剧本:
function()
{
var o = this;
$('li').on('mouseover', function(event){
var el = $(event.target).parent().children()['1'];
$(el).css({
"background" : "#483D8B",
"letter-spacing" : "2px",
"text-transform" : "uppercase"
});
});
$('li').on('mouseout', function(event){
var el = $(event.target).parent().children()['1'];
$(el).css({
"letter-spacing" : "0px",
"text-transform" : "lowercase",
"first-letter" : "uppercase",
"background" : "#4682B4"
});
});
},
和有关的Html:
s[i++] = '<li>';
s[i++] = '<img id=\"'+ ConcernedText[j].name +'\" src="../renderer/bundles/' + ConcernedText[j].icon + '" width="268" height="120" style="display:block"\" />';
s[i++] = '<a>'+ ConcernedText[j].name + '</a>';
s[i++] = '</p><!----><p>'
s[i++] = '</li>';
在调用此属性时有另一种方式,如:first-letter {text-transform:uppercase},如果是这样,Jquery中的语法应该是什么?
答案 0 :(得分:1)
我建议通过添加/删除CSS中描述的类来分离CSS和JS。在这种情况下,您的first-letter
将在CSS中运行。此外,如果您可以使用var el
,我不确定为什么要创建$(this)
。例如:
$('li').on('mouseout', function(event){
$(this).addClass('lowercased');
});
在CSS文件中:
.lowercased {
"letter-spacing" : "0px",
"text-transform" : "lowercase",
"background" : "#4682B4"
}
.lowercased a::first-letter {
"text-transform" : "uppercase"
}
确保在相反的事件中删除该课程:
$('li').on('mousein', function(event){
$(this).removeClass('lowercased');
});
答案 1 :(得分:1)
我建议在css中添加一个具有这些属性的类:
.myClass{
letter-spacing: 0px;
text-transform: lowercase;
background: #4682B4;
}
.myClass::first-letter{
text-transform: uppercase;
}
和您的脚本使用:
$(el).addClass('myClass');
而不是.css()。
$('li').on('mouseover', function(event){
var el = $(event.target).parent().children()['1'];
$(el).css({
"background" : "#483D8B",
"letter-spacing" : "2px",
"text-transform" : "uppercase"
});
});
$('li').on('mouseout', function(event){
var el = $(event.target).parent().children()['1'];
$(el).addClass('myClass);
虽然,您似乎正在使用悬停效果,但您可以使用
执行相同的操作el:nth-of-type(2){
letter-spacing: 0px;
text-transform: lowercase;
background: #4682B4;
}
el:nth-of-type(2)::first-letter{
text-transform: uppercase;
}
el:nth-of-type(2):hover{
letter-spacing: 2px;
text-transform: uppercase;
background: #483D8B;
}