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 に答える