jquery如何把&#34;追加&#34;从$ .each到<li> tag </li>

时间:2015-01-15 07:48:06

标签: jquery

我在jquery中每个都得到答案,用户从收音机盒中选择一个,一切正常,除了我想把每个传递放在&lt; li &gt;标签

$.each(questions.answers, function(key, val) {

    $(".exam").append(
        $('<input />', {
            type: 'radio',
            name: 'answer',
            id: val.id,
            value: val.text
        })
    );
    $(".exam").append(
        $('<label />', {
            'text': val.text,

        })

    );
    $(".exam").append('</br>');

});

这给出了:

<input id="val.id" type="radio" name="answer" value="val.text"><label>val.text</label><br>

我想得到:

<li><input id="val.id" type="radio" name="answer" value="val.text"><label>val.text</label></li>`

我似乎无法弄明白。

2 个答案:

答案 0 :(得分:4)

您可以先附加li元素,然后在其中附加输入文本和标签。

完整代码:

   $.each(questions.answers, function (key, val) {
                $('.exam').append('<li/>');
                $(".exam li:last").append(
                        $('<input />', {
                            type: 'radio',
                            name: 'answer',
                            id: val.id,
                            value: val.text
                        })
                        );
                $(".exam li:last").append(
                        $('<label />', {
                            'text': val.text,

                        })

                        );

            });

答案 1 :(得分:0)

您可以先使用jquery创建一个li元素,附加到li元素,然后将完整元素追加到.exam:

$.each(questions.answers, function (key, val) {

                    var li = $("<li>");
                    li.append(
                            $('<input />', {
                                type: 'radio',
                                name: 'answer',
                                id: val.id,
                                value: val.text
                            })
                            );
                    li.append(
                            $('<label />', {
                                'text': val.text,

                            })

                            );
                    $(".exam").append(li);
                });