【问题标题】:How to add the checked="checked" attribute to the output of .html() method如何将 checked="checked" 属性添加到 .html() 方法的输出中
【发布时间】:2011-05-31 22:48:48
【问题描述】:

无论是在 jQuery 级别还是在 DOM 级别,checkbox 的选中属性都必须有一些特别之处。使用此 HTML:

<html>
    <body>
        <input id="cb" type="checkbox" />
    </body>
</html>

还有这个 JavaScript:

$(function() {

    $("#cb").attr("checked","checked");
    alert("Expecting this HTML fragment to have a 'checked' attribute:\n\n"
          + $("body").html());

});

我没有得到我所期望的;如果我使用除“checked”之外的属性名称,它会按预期工作。

我试图让它工作的原因是我需要获取浏览器 DOM 中存在的 HTML 并将其转换为 PDF,以便用户可以按原样获取页面的 PDF 版本看着它;它在客户端被大量操作,因此直接从服务器获取正确的 HTML 并不是一个简单的选择。

这是上述代码的工作版本:http://jsfiddle.net/pettys/qTfDP/2/

【问题讨论】:

    标签: jquery html checkbox attr


    【解决方案1】:

    Update to jQuery 1.6。在 1.6/1.6.1 中有一些significant changes to attr

    【讨论】:

    • 有道理。也感谢您的链接 - 很高兴知道背景。
    • @pettys 我认为根本问题是直到 1.6 attr 设置 DOM 属性 checked 而不在标记中添加属性。
    • 在阅读您发送的链接之前,我没有想过设置属性和设置属性之间的区别。好东西!
    猜你喜欢
    • 2015-02-25
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 2019-01-15
    • 2022-07-01
    • 2011-06-20
    • 1970-01-01
    相关资源
    最近更新 更多