0

我正在使用 2 个字体并希望使用 jQuery 在它们之间切换,事情是我的字体名称是“ArvoBold”,当我使用时:

css('font-family','ArvoBold') 

它更改为名为 ArvoBold(无引号)的不存在字体!我试图使它与:

css("font-family","'ArvoBold'") 

但这似乎不起作用。我也尝试创建一个变量:

var fontvar="'"+"ArvoBold"+"'";
css('font-family',fontvar);

而且也没有成功,因为在元素的 CSS 上(使用 Google Chrome 的检查器检查)它一直使用 ArvoBold 而不是“ArvoBold”。

有人可以帮帮我吗?

提前致谢!

约翰

4

3 回答 3

2

不确定您的确切实现,但这可以通过转义字符串中的单引号来实现:

$(".font-face").css("font-family","\'ArvoBold\'");

为什么需要单引号?

在内容 div 中转义单引号输出“ArvoBold”的快速测试:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>   
<style>
#content{border:solid 1px red;width:100px;height:100px;text-align:center;}
</style>
</head>

<body>

<div id="content"></div>

<script type="text/javascript">
$(document).ready(function(){
$("#content").html("\'ArvoBold\'");
});
</script>

</body>
</html>
于 2012-08-10T14:21:58.357 回答
1

您需要定义选择器并更正您的css()括号。

这是工作的jsFiddle。

var fontvar = 'ArvoBold';
$('.mySelector').css({'font-family':fontvar});​

注意:不要忘记使用$(document).ready()

于 2012-08-10T14:17:28.220 回答
0

在 CSS 中,您可以编写

font-family: Arial;

font-family: 'Arial';

它具有相同的含义。因此可以预期,在

'ArvoBold'

引号被解释为字符串分隔符,而不是字符串的一部分。

您可以尝试转义引号,即

font-family: "\'ArvoBold\'"

不过,我必须重复 BoltClock 的问题:为什么字体名称中有引号?

于 2012-08-10T14:20:43.253 回答