全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-17 5 分钟 ✍️ juanwangdev

布尔属性

布尔属性是一种特殊属性,只存在"有"或"无"两种状态,无需属性值。

布尔属性特点

  • 无需值:属性存在即为true
  • 省略格式:直接写属性名即可
  • 生效规则:有属性则生效,无属性则不生效
HTML
<!-- 标准写法:只写属性名 -->
<input disabled>
<input required>

<!-- 也可写属性名=属性名 -->
<input disabled="disabled">
<input required="required">

常用布尔属性

表单相关

属性适用元素说明
disabled表单元素禁用元素
required表单元素必填验证
readonlyinput/textarea只读
checkedradio/checkbox选中状态
selectedoption下拉选中
multipleselect/input[file]多选
autofocus表单元素自动聚焦

示例代码

HTML
<!-- disabled 禁用 -->
<input type="text" disabled>
<button disabled>禁用按钮</button>

<!-- required 必填 -->
<input type="text" name="username" required>

<!-- readonly 只读 -->
<input type="text" value="不可编辑" readonly>

<!-- checked 选中 -->
<input type="checkbox" checked>
<input type="radio" name="gender" value="male" checked>

<!-- selected 下拉选中 -->
<select name="city">
    <option value="bj" selected>北京</option>
    <option value="sh">上海</option>
</select>

<!-- multiple 多选 -->
<select name="tags" multiple>
    <option value="html">HTML</option>
    <option value="css">CSS</option>
</select>
<input type="file" multiple>

媒体布尔属性

video/audio属性

HTML
<video src="video.mp4" controls autoplay muted loop>
</video>

<audio src="music.mp3" controls autoplay loop>
</audio>
属性说明
controls显示播放控制条
autoplay自动播放
muted静音
loop循环播放
playsinlineiOS内联播放

autoplay在大多数浏览器需要配合muted使用才能生效。

其他布尔属性

其他常用

HTML
<!-- hidden 隐藏元素 -->
<div hidden>隐藏的内容</div>

<!-- draggable 可拖拽 -->
<div draggable="true">可拖拽元素</div>

<!-- contenteditable 可编辑 -->
<div contenteditable="true">可编辑内容</div>

<!-- open 详情展开 -->
<details open>
    <summary>标题</summary>
    <p>展开的内容</p>
</details>

<!-- defer/async 脚本加载 -->
<script src="app.js" defer></script>
<script src="analytics.js" async></script>

布尔属性对比

属性disabledreadonly
可聚焦
值提交
外观灰色正常
可编辑

JavaScript操作布尔属性

HTML
<input type="checkbox" id="check1">
<button onclick="toggle()">切换</button>

<script>
    const checkbox = document.getElementById('check1');

    // 设置布尔属性
    checkbox.checked = true;
    checkbox.disabled = true;

    // 移除布尔属性
    checkbox.disabled = false;

    // 使用setAttribute/removeAttribute
    checkbox.setAttribute('disabled', '');
    checkbox.removeAttribute('disabled');
</script>

要点总结

  1. 无需值:布尔属性直接写属性名即可
  2. 存在即生效:属性存在表示true
  3. 禁用vs只读:disabled不提交值,readonly会提交
  4. JS操作:直接设置true/false或使用removeAttribute

📝 发现内容有误?点击此处直接编辑

← 上一篇 属性值写法与转义
下一篇 → 自定义属性(data-*)
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库