2011-05-31 44 views
3

无论是在jQuery级别还是在DOM级别,复选框的checked属性都必须有特殊的内容。有了这个HTML:如何将checked =“checked”属性添加到.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”之外的属性名称,它将按预期工作。

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

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

回答

4
+0

有道理。感谢您的链接 - 很高兴知道背景。 – pettys 2011-05-31 23:04:58

+0

@pettys我认为潜在的问题是,直到1.6'attr'设置DOM属性'checked'而没有在标记中添加属性。 – robertc 2011-05-31 23:09:59

+0

我没有想过在设置属性和设置属性之间的区别,直到我阅读你发送的链接。好东西! – pettys 2011-06-01 13:11:34

相关问题