<style>
div {
width: 300px;
height: 300px;
background-color: yellow;
}
</style>
<body>
<button>按钮</button>
<div>123</div>
<script>
var btn = document.querySelector('button');
var div = document.querySelector('div');
btn.disabled = true;
div.innerHTML = '哈哈哈';
div.style.width = '50px';
</script>
</body>
正在学习javascript,遇到一个小问题,添加事件中,比如btn的disabled的true就不需要加引号,而div的innerHTML和width修改的东西都需要加引号,为什么规则是这样的呢?有没有什么规则吗?
你得看你调用的东西要求什么值。disabled 要求是boolean 值所以你得传true,false. innerHtml 要求的是string 值并且你传的也是固定的数据(即,非变量)所以你得带‘’号。另外,因为js 有自动转换的功能,所以有的时候可能你传的不是要求的类型,但也能工作的情况。
总之,一个建议,在使用前你看看目标方法或者属性要求什么类型的数据,你相应的给这个类型的就不会出错了,也不用纠结带不带‘’了。