我有一个jQuery函数,可以为页面中的许多元素重新调整font-size和line-height的大小,包括p和p.latest_news。 除了p.latest_news
之外,该函数与所有其他元素一起按预期工作应用于p.latest_news的font-size和line-height等于p no class(即$('p').css({...
)
jQuery.1.7.1
CODE
$('p.article_news').css({
'font-size' : Math.max(11,(.9 * newFontSize)),
'line-height' : Math.max(13,(1.1 * newFontSize))+'px'
});
$('p').css({
'font-size' : Math.max(14,newFontSize),
'line-height' : Math.max(21,(1.7 * newFontSize))+'px'
});
如果我只使用
$('p.article_news').css({
'font-size' : Math.max(11,(.9 * newFontSize)),
'line-height' : Math.max(13,(1.1 * newFontSize))+'px'
});
p.article_news字体大小和行高改变如预期
为什么会这样? 我怎样才能影响每个p,class和classless?
谢谢
答案 0 :(得分:4)
您正在设置article_news字体大小,然后使用第二个选择器再次更改它。
您需要的是:
$('p.article_news').css({
'font-size' : Math.max(11,(.9 * newFontSize)),
'line-height' : Math.max(13,(1.1 * newFontSize))+'px'
});
$('p:not(.article_news)').css({
'font-size' : Math.max(14,newFontSize),
'line-height' : Math.max(21,(1.7 * newFontSize))+'px'
});
:not()选择器基本上选择所有没有类.active_news的p节点。
答案 1 :(得分:1)
只需翻转你的功能。首先使用带有p选择器的函数,然后使用带有p.article_news选择器的函数。
你的p选择器功能正在覆盖p.article_news选择器功能。
答案 2 :(得分:1)
我喜欢马克的解决方案。
但如果两个函数一起调用,你可以翻转它们并让它们工作。
$('p').css({
'font-size' : Math.max(14,newFontSize),
'line-height' : Math.max(21,(1.7 * newFontSize))+'px'
});
$('p.article_news').css({
'font-size' : Math.max(11,(.9 * newFontSize)),
'line-height' : Math.max(13,(1.1 * newFontSize))+'px'
});
可能比使用:not
答案 3 :(得分:0)
由于所有p.article_news
都是p
,您在p.article_news
设置样式时会覆盖在p
中添加的样式。您可以先为p
设置样式,然后设置p.article_news
的样式,也可以使用p:not(.article_news)
代替p
。