3

由于某种原因,未创建以下函数中的 p 元素(和/或附加到 div)。如果我将它与 div 一样附加到“#listOfListObjects”,它可以工作,但我希望它在 div 中。

我究竟做错了什么?

    $('#addListObjectSubmit').click(function (e) {

        var listObjectName = $('#m_newListObject').val();

        if((listObjectName == null) || (listObjectName == '')) {
            return false;
        }
        else {
            var listDiv = 'listDiv' + i;

            $('<div>', {
                class: 'listObjectShow',
                id: listDiv
            }).appendTo('#listOfListObjects');

            $('<p>', {
                class: 'listObjectShow',
                text: listObjectName,
                id: 'listObject' + i
            }).appendTo(listDiv);
        }

        i += 1;

        e.preventdefault();
    });
4

3 回答 3

4

改变这个

var listDiv = 'listDiv' + i;

var listDiv = '#listDiv' + i;

或者

$('<div>', {
    class: 'listObjectShow',
    id: listDiv
}).appendTo('#listOfListObjects');

$('<p>', {
    class: 'listObjectShow',
    text: listObjectName,
    id: 'listObject' + i
 }).appendTo(listDiv);

$('<div>', {
     class: 'listObjectShow',
     id: listDiv
 }).appendTo('#listOfListObjects');

 $('<p>', {
     class: 'listObjectShow',
     text: listObjectName,
     id: 'listObject' + i
 }).appendTo('#' + listDiv);
于 2012-10-26T09:34:37.303 回答
1

text不是<p>元素的属性。

你应该改变:

$('<p>', {
    class: 'listObjectShow',
    text: listObjectName,
    id: 'listObject' + i
}).appendTo(listDiv);

$('<p>', {
    class: 'listObjectShow',
    id: 'listObject' + i
}).text(listObjectName).appendTo(listDiv);
于 2012-10-26T09:36:47.023 回答
0

我最喜欢的方式是这样的

var $div = $('<div>', {
               class : 'listObjectShow',
               id    : listDiv
           }).appendTo('#listOfListObjects');

$('<p>', {
    class : 'listObjectShow',
    id    : 'listObject' + i
}).text(listObjectName).appendTo( $div );

选择器、ID 等没有问题……只是使用了对新 div 的简单引用

于 2012-10-26T09:49:52.143 回答