我在 jsFiddle 上放了一个非常简化的示例。
基本上,我正在尝试构建我的 HTML,然后在完成后附加整个内容。JS 看起来像这样:
var label = 'My label',
var checkbox = $('<input type="checkbox">').prop({
id: 'checkboxId',
name: 'checkboxId',
checked: visible
});
listItem = ('<li class="customise_option"><label>'+checkbox+' '+label+'</label></li>');
$('#mylist').append(checkbox);
$('#myotherlist').append(listItem);
追加checkbox
就好了,但是如果我尝试包含checkbox
在我的listItem
变量中,那么我只会得到:
[object Object] My label
因此,就其本身而言,jQuery 可以将 mycheckbox
作为字符串附加,但是当我尝试对其执行任何操作时,它会将其视为对象。
环顾四周,有一些类似的问题,但是当我在 JavaScript 中创建所有东西(而不是操作 DOM 中已经存在的东西)时,似乎必须有一种方法来做我想做的事。问题是我想不通。
编辑
我把我原来的例子简化了太多,没有完全理解这个问题。我已经更新了 jsFiddle以表明checkbox
我需要能够添加一堆属性。因此,该checked
属性将依赖于其他东西。因此,我需要$
这样才能访问 jQuery 的prop
函数(我认为)。