jquery .append()无效

时间:2012-08-16 18:52:07

标签: jquery

我正在尝试将一些文本追加到动态创建的div中。我在.each()函数中执行此操作。没有附加文本的问题。有人可以帮我这个。这就是我想要做的事情

         $('<div class="window" id="window'+i+'" />')
                .append($('<p id="country'+i+'">').text($(this).find('COUNTRY').text()))
                .appendTo('body');
                var j = 0;
                $(this).find('TO').each(function(){
                    var $name = $(this).text();
                    alert("@@@@@@@@@@@@@@@@@@@@::::"+$name);
                    j +=1;
                    $('<#id="window'+i+'" />').append($('<p id="to'+j+'">Test</p>'));
                });

请告诉我这个错误的地方,帮助我

3 个答案:

答案 0 :(得分:4)

这个元素是什么?

$('<#id="window'+i+'" />')

你的意思是:

$('#window'+i)

答案 1 :(得分:2)

你的选择器错了。它应该是

$('div[id="window'+i+'"]').append($('<p id="to'+j+'">Test</p>'));

或者因为你有一个id只需使用ID选择器

$('#window' + i)

http://api.jquery.com/category/selectors/

答案 2 :(得分:1)

看来你的问题出在这个位置:

$(this).find('COUNTRY').text()

我猜'COUNTRY'是您正在寻找的元素的id?如果是这样,请尝试:

$(this).find('#COUNTRY').text()

同样,这个选择器:

$(this).find('TO')

可能需要更改为

$(this).find('#TO')

这取决于'COUNTRY''TO'是否是ID,类等。最后,正如其他人所指出的那样:

$('<#id="window'+i+'" />')

是无效的选择器。如果您要创建元素,则需要:

$('<div id="window'+i+'" />')

如果您尝试选择现有元素,请尝试:

$('#window'+i)