Javascript 为什么JS';id';返回未定义

Javascript 为什么JS';id';返回未定义,javascript,html,variables,filter,Javascript,Html,Variables,Filter,下面是我的代码: var activeSlide = $('.slide').filter(':visible'); var currentId = activeSlide.id; console.log(activeSlide); console.log(currentId); 我的第一个控制台日志将返回HTML对象: [div#slide-2.slide.current, prevObject: p.fn.init[5], context: docu

下面是我的代码:

    var activeSlide = $('.slide').filter(':visible');
    var currentId = activeSlide.id;
    console.log(activeSlide);
    console.log(currentId);
我的第一个控制台日志将返回HTML对象:

    [div#slide-2.slide.current, prevObject: p.fn.init[5], context: document]

但是我的第二个console.log()返回“undefined”。我在这里遗漏了什么吗?

您的
activeSlide
变量分配了一个jQuery对象,而该对象没有“id”属性

您可以使用
.prop()
获取id:

或者,如果不想进行函数调用:

var currentId = activeSlide[0].id;

但是,如果您这样做,那么如果确实没有活动幻灯片,您就有发生异常的风险。

您的
activeSlide
变量有一个jQuery对象分配给它,并且没有“id”属性

您可以使用
.prop()
获取id:

或者,如果不想进行函数调用:

var currentId = activeSlide[0].id;

但是,如果这样做,如果确实没有活动幻灯片,则可能会发生异常。

我不知道我不能将JS
id
属性用于jQuery对象


我通过使用
.attr('id')
而不是
.id
解决了这个问题,我不知道我不能将JS
id
属性用于jQuery对象


我通过使用
.attr('id')
而不是
.id

解决了这个问题。请也为您的文档发布HTML代码。添加问题中的HTML您的第一个
控制台.log()
正在转储一个jQuery对象,而不是DOM元素。
id
如果存在,可以作为
activeSlide.attr('id')
activeSlide[0].id
。请同时发布文档的HTML代码。在问题中添加HTML您的第一个
控制台。log()
正在转储一个jQuery对象,而不是DOM元素。
id
如果存在,可作为
activeSlide.attr('id')
activeSlide[0]提供.id
。我甚至没有注意到jquery。yaps你必须做
activeSlide.attr('id')
我甚至没有注意到jquery。yaps你必须做
activeSlide.attr('id')
不要发表评论作为你问题的答案。你的问题后面已经有评论区了。。!用它来评论。。!公平地说,你可以回答自己的问题,第二句话确实回答了他自己的问题。我在其他回答之前发布了这篇文章,以防其他人有这个问题。我不是想抢别人的风头。最好使用
prop
而不是
attr
不要发表评论来回答你的问题。你的问题后面已经有评论区了。。!用它来评论。。!公平地说,你可以回答自己的问题,第二句话确实回答了他自己的问题。我在其他回答之前发布了这篇文章,以防其他人有这个问题。我不是想抢别人的风头。使用
prop
比使用
attr