CSS属性之一没有';t使用Jquery:“;第一个字母;
此查询执行所有转换,但不执行“第一个字母”,是否有具体方法执行此操作: 这是我的剧本:CSS属性之一没有';t使用Jquery:“;第一个字母;,jquery,css,Jquery,Css,此查询执行所有转换,但不执行“第一个字母”,是否有具体方法执行此操作: 这是我的剧本: function() { var o = this; $('li').on('mouseover', function(event){ var el = $(event.target).parent().children()['1']; $(el).
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"
});
});
},
以及有关的网页:
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>';
s[i++]='';
s[i++]='';
s[i++]=''+相关文本[j].名称+'';
s[i++]=''
s[i++]=' ';
在像:第一个字母{text transform:uppercase}那样调用此属性时,是否有其他方法,如果有,Jquery中的语法应该是什么?我建议通过添加/删除CSS中描述的类来分离CSS和JS。在这种情况下,您的
第一个字母将在CSS中工作。此外,如果您可以使用$(this)
,我不知道为什么要创建var el
。例如:
$('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');
});
我建议通过添加/删除CSS中描述的类来分离CSS和JS。在这种情况下,您的第一个字母将在CSS中工作。此外,如果您可以使用$(this)
,我不知道为什么要创建var el
。例如:
$('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');
});
我建议在css中添加一个具有以下属性的类:
.myClass{
letter-spacing: 0px;
text-transform: lowercase;
background: #4682B4;
}
.myClass::first-letter{
text-transform: uppercase;
}
以及您的脚本使用:
$(el).addClass('myClass');
而不是.css()
虽然,看起来您使用的是悬停效果,但您对
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;
}
我建议在css中添加一个具有以下属性的类:
.myClass{
letter-spacing: 0px;
text-transform: lowercase;
background: #4682B4;
}
.myClass::first-letter{
text-transform: uppercase;
}
以及您的脚本使用:
$(el).addClass('myClass');
而不是.css()
虽然,看起来您使用的是悬停效果,但您对
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;
}
第一个字母
是一个伪元素,而不是属性。因此,jQuery不能通过css()
设置它。有没有建议在我的案例中使用大写字母?是的,但不能通过JS设置-您可以通过css设置。您不能通过JS在伪元素上设置样式,除非您使用样式表DOM API并动态创建样式表。第一个字母
是伪元素,而不是属性。因此,jQuery不能通过css()
设置它。有没有建议在我的案例中使用大写字母?是的,但不能通过JS设置-您可以通过css设置。除非使用样式表DOM API并创建动态样式表,否则不能通过JS在伪元素上设置样式。如前所述,第一个字母
是伪元素,而不是CSS属性。如果是的话,这种方法在效果上与OP已经在做的相同,即设置一种风格。谢谢@Utkanos。编辑我的回答如前所述,第一个字母
是一个伪元素,而不是CSS属性。如果是的话,这种方法在效果上与OP已经在做的相同,即设置一种风格。谢谢@Utkanos。编辑了我的答案