`checked="checked"` vs `checked=true`

在 HTML 中,input 标签的 checked 属性用于设置复选框或单选按钮是否被选中。但是,有时候我们会遇到两种不同的语法:checked="checked"checked=true。那么这两者的区别是什么呢?

区别

在 HTML 中,checked 属性的值是一个布尔类型。通过设置该属性的值为 true 或 false,可以控制复选框或单选按钮是否被选中。

checked="checked" 则是一种早期版本的写法。在 HTML 4.01 中,属性值需要使用引号括起来,并且对于布尔属性,只有存在该属性时它的值才为 true。因此,为了让复选框或单选按钮被选中,必须将 checked 属性的值设置为 checked

在 HTML5 中,属性值可以不使用引号,同时也允许 checked 属性的值为任意非空字符串。因此,checked=true 是一种更简洁的写法。

实例

下面是一个示例代码,展示了如何使用这两种写法:

--------- -----
------
------
    ----------------------
-------
------
    ------
        ------ ----------------
            ------ --------------- -------------- ---------------- ---------------------
        --------
        ------ ----------------
            ------ --------------- -------------- ---------------- ----------------
        --------
        ------- --------------------------------------------------------------------------------
        ------- --------------------------------------------------------------------------------
    -------
-------
-------

在这个示例中,我们创建了两个复选框,并使用了 checked="checked"checked=true 两种写法。同时,我们还在页面上添加了两个按钮,用于检查这两个复选框是否被选中。

指导意义

虽然 checked="checked"checked=true 的效果是相同的,但是在开发过程中应该尽量避免使用前者。因为它是一种早期版本的写法,在现代 HTML 中已经不再推荐使用。而且,如果你的代码需要嵌入到 XML 或 XHTML 中,那么 checked="checked" 就无法正常工作了。

因此,我们应该尽量使用 checked=true 的写法,以保证代码的兼容性和可读性。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/29044