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
解决了这个问题,我不知道我不能将JSid
属性用于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