问题:代码$('div .test ').css('fontSize');执行时会报'style'为空或不是对象
我的HTML内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery test</title>
<script src="lib/jquery.js" type="text/javascript"></script>
<script src="test2.js" type="text/javascript"></script>
</head>
<body>
<div id="switcher-large">变大</div>
<div id="switcher-small">变小</div>
<div class="test">
<p>这是内容哦</p>
</div>
</body>
</html>
我的js代码:
$(document).ready(function() {
$('#switcher-large').click(function(){
var $speech = $('div .test');
var currentSize = $speech.css('fontSize');
var num = parseFloat(currentSize,10);
var unit = currentSize.slice(-2);
num *= 1.4;
$speech.css('fontSize',num+unit);
});
});
在执行var currentSize = $speech.css('fontSize');的时候出的错,问题是选择器上div和.test之间多了一个空格,去掉空格就没问题了
总结:选择器的前后两部分之间带空格即从前面元素的子元素中选择,不带空格即从同级元素中选择
例如本例中,div和.test这两部分。