这看起来很简单,我不知道这是一个错误,还是我做错了什么。
我想要做的是在 jquery 中构建一个复选框输入,然后返回输入的字符串。我有这个代码:
var obj = $('<input>');
obj.attr('disabled', 'disabled');
obj.attr('type', 'checkbox');
obj.attr('checked', 'checked'); // this does not work!
无论我如何尝试渲染这个对象,“checked”属性都不会被输出。
所以我尝试过:
$('<div>').append(obj).remove().html();
它返回:
<input type="checkbox" disabled="disabled" />
我尝试过设置 id 属性,没有什么区别。我也尝试过这个,但它不起作用:
obj.attr('checked', true);
关于如何将已检查属性设置为“已检查”(通过jquery)渲染输入标记有什么建议吗?
我意识到我可以通过字符串连接来做到这一点,但现在我真的想知道为什么它没有按应有的方式工作。
EDIT
你可以在 firebug 中亲自尝试一下。按照我的方式创建 obj 或cletus' 方式,然后尝试将其渲染为字符串。您会发现“checked”属性永远不会被渲染。