JQuery选择器返回未定义

JQuery选择器返回未定义,jquery,attributes,selector,undefined,Jquery,Attributes,Selector,Undefined,我正在做一个新闻提要,就像在7秒后轮换新闻一样。 我正在使用Jquery函数$().slideUp()和$().slideDown() 这是我的HTML: <div id='F1' class='Nouvelles' style='background-image:url(../ImagesAnnonces/google_chrome.png); background-size:contain;'> <h2>test</h2> <p>

我正在做一个新闻提要,就像在7秒后轮换新闻一样。 我正在使用Jquery函数
$().slideUp()
$().slideDown()

这是我的HTML:

<div id='F1' class='Nouvelles' style='background-image:url(../ImagesAnnonces/google_chrome.png); background-size:contain;'>
    <h2>test</h2>
    <p>test</p>
</div>
<div id='E2' class='Nouvelles' style='background-image:url(../ImagesAnnonces/images.jpeg); background-size:contain;'>
    <h2>test</h2>
    <p>test</p>
</div>
<div id='F3' class='Nouvelles' style='background-image:url(../ImagesAnnonces/); background-size:contain;'>
    <h2>test 2 FR</h2>
    <p></p>
</div>
<div id='F4' class='Nouvelles' style='background-image:url(../ImagesAnnonces/asdfgfhjkl.jpeg); background-size:contain;'>
    <h2></h2>
    <p></p>
</div>
每个“.Nouvelles”都有唯一的ID,法语以“F”开头,英语以“E”开头。 我现在只想旋转和显示法国的。 法语和英语新闻将以随机模式交替播放。因此,有一天“F1”的下一个兄弟姐妹可能是“F2”或“E2”

我遇到的问题是这一行:

//the problem seems to be here...
//Get the first id
            var id = $('.Nouvelles[id^="F"]').first().attr('id').substring(1);
            alert(id);//This return 'undefined'...
我无法获取id。如果我
警报($('.Nouvelles[id^=“F”]')。first())
它将返回一个对象。 但是如果I
alert($('.Nouvelles[id^=“F”]').first().attr('id'))
它将返回undefined。 如果在Jquery选择器中,我特别要求元素的id以“F”开头,那么id怎么可能是未定义的


有人知道我错在哪里吗?

因为您在ajax调用中添加了项,所以选择器没有准备好
上的任何元素

您将得到一个jQuery对象,该对象将不包含任何元素,但会提醒一个对象,并且没有id属性


执行
console.log($('.Nouvelles[id^=“F”]).first().attr('id'))
并检查对象。警报不应用于调试。

函数
attr()
已返回集合中第一个元素的值,因此不需要调用
first()
。但是这应该与您的问题无关。您是否在ajax调用中添加了这些项?如果
ready
页面上没有,您将得到一个jQuery对象,该对象将不包含任何元素,但会提醒一个对象,并且没有
id
属性。执行
console.log($('.Nouvelles[id^=“F”]).first().attr('id'))
并检查对象<代码>警报
不应用于调试。您的右@Schleis我正在AJAX调用中添加这些项,现在它确实更有意义了。我很惭愧,我想我会躺在这里死去XD:D非常感谢!把你的评论贴出来作为答案,我会打勾!!!
//the problem seems to be here...
//Get the first id
            var id = $('.Nouvelles[id^="F"]').first().attr('id').substring(1);
            alert(id);//This return 'undefined'...