我试图从一个小显示设置面板更改jQuery对话框的font-family。 我尝试过所有这些都无济于事:
$('#orderHolder').style.fontFamily='Bookman Old Style';
$('.ui-dialog-content').style.fontFamily='Bookman Old Style';
$('.ui-widget-content').style.fontFamily='Bookman Old Style';
$('#orderHolder').css("font-family", "Bookman Old Style';
$('*').css('font-family', 'Bookman Old Style'); //this is what I'm after
(#orderHolder是包含对话框内容的div)
我发现了*{
font-family: 'Bookman Old Style';
}
.css文件中的工作正常,整体效果就是我所追求的。
那么,如何在javascript中选择样式的所有元素?
答案 0 :(得分:7)
jQuery的:
$('*').css('font-family','Bookman Old Style');
的javascript:
document.querySelectorAll('*').style.fontFamily = 'Bookman Old Style';
<强>更新强>
实际上,当您使用querySelectorAll时,您需要迭代所有元素:
var el = document.querySelectorAll('*');
for(var i=0;i<el.length;i++){
el[i].style.fontFamily = 'Bookman Old Style';
}
但是在使用星号选择器时迭代所有元素是不必要的,你可以使用querySelector:
document.querySelector('*').style.fontFamily='Bookman Old Style';
但实际上如果你将font-family设置为body,你的字体将被继承到所有元素,所以而不是其他东西只适用于body。
答案 1 :(得分:2)
您可能需要将其作为重要风格: 此外,如果有任何其他字体系列,请删除它。 试试下面的代码
在CSS中:
*{
font-family: 'Bookman Old Style' !important;
}
在jquery中:
$('#content').find('*').css("font-family","'Bookman Old Style'");
答案 2 :(得分:0)
我找到了
.css文件中的*{ font-family: 'Bookman Old Style'; }
工作正常,整体效果就是我所追求的。
在这种情况下,由于您显然没有将font-family
应用于更具体的选择器,因此您最好的选择是使用该规则向文档中添加style
元素:
$("<style>* { font-family: 'Bookman Old Style'; }</style>").appendTo("head");
或者可能:
$("<style>body { font-family: 'Bookman Old Style'; }</style>").appendTo("head");
...如果他们都从body
继承了他们的风格。
这样,它适用于整个过程,也适用于您之后添加的新元素。
答案 3 :(得分:-1)
**应用以下方法**
1.jQuery
$('*').css('fontFamily','Times New Roman');
2.Java脚本
document.querySelectorAll('*').style.fontFamily = 'Times New Roman';
3.Css
*{
font-family: 'Times New Roman';
}