JQuery选择器找不到通过append添加的对象

时间:2015-02-19 17:29:47

标签: javascript jquery

页面加载后很长时间(例如一分钟或更长时间),我们可以收到推送消息,这会导致我们添加新内容。执行此操作后,当我们使用Jquery哈希选择器进行查询时,它永远不会返回新添加的内容。在所有情况下,长度始终为零。我们可以看到内容,但选择器不返回任何内容。

var section = '<section id="NewSection">Hello</section>';
$('.container').append(section);

if ($('#NewSection').length == 0)
{
    alert('This should not be zero at this point... Why is it?');
}

为了让JQuery在追加附加内容后能够找到附加的内容,我们需要做些什么吗?

1 个答案:

答案 0 :(得分:1)

  

当不是必要时,你不得施放。

您正在使用!转换为布尔值,请参阅此冷运行:

len = $('#NewSection').length

CASE len = 0 然后!len = true

if(1){
    // code excecutes
}

CASE len = 1 然后!len = false

if(0){
    // no code executes
}

为了工作,你应该改变你的状况。

// @updated!
var section = '<section id="NewSection">Hello</section>';
$('.container').append(section);
if ($('#NewSection').length > 0) // meaning one or MORE than one element got selected
{
    alert('I should have found this!');
}

这是jsfiddle