0

我正在尝试将一些文本附加到动态创建的 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>'));
                });

请帮助我,让我知道我哪里出了问题

4

3 回答 3

4

这个元素是什么?

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

你的意思是:

$('#window'+i)

?

于 2012-08-16T18:53:41.983 回答
2

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

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

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

$('#window' + i)

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

于 2012-08-16T18:54:12.327 回答
1

看来您的问题在于这一点:

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

我猜“国家”是id您正在寻找的元素?如果是这样,请尝试:

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

同样,这个选择器:

$(this).find('TO')

可能需要更改为

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

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

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

是一个无效的选择器。如果您尝试创建一个元素,您需要:

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

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

$('#window'+i)
于 2012-08-16T18:58:24.610 回答