所以我不确定我的头衔是否足够清晰。我本质上有一个div保存为Javascript对象,如下所示:[div#field_30.checkbox_group]
field_30是我想在这里提取的ID。做object.id
这样的事情是行不通的。有谁知道如何获取ID?
注意:我保存了这样的对象:var object = $(".workspace .selected");
,它抓取了名为workspace的对象中当前选中的div。对不起,这是一个菜鸟的错误,我似乎无处可寻。谢谢你的帮助...
答案 0 :(得分:2)
var object = $(".workspace .selected");
将返回一个jQuery包装元素,该元素具有jQuery属性和方法,而不是元素属性和方法。这意味着任何
object[0].id
object.prop("id")
object.attr("id")
应该可行,但第一个选项应该是性能最佳的。它获取jQuery对象包含的第一个元素的id
属性,这是你的div。
答案 1 :(得分:0)
您的对象实际上是一个jQuery对象,而不是一个dom对象。
要使用dom对象,
object[0].id
或者使用,jquery,(因为它已经存在)
object.prop('id');
答案 2 :(得分:0)
您可以使用$jquery_object.attr('id')
或$jquery_object.eq(0).id
请参阅此示例:http://jsfiddle.net/cquuT/
答案 3 :(得分:0)
在这种情况下看起来object
是jQuery
选择的结果。要获得实际的DOM对象,您需要使用[0]
。然后,您可以访问id
属性
object[0].id
答案 4 :(得分:0)
我在这里看不到完整的答案,所以我会提供自己的答案。
如果您正在使用jQuery选择器$()
,那么您将获得jQuery包装的集合,而不是单个元素。
(我现在假设您正在使用jQuery 1.5.2,与StackOverflow现在使用的相同。)
获取选择器返回的所有元素的id
的通用解决方案是:
.map(function(){ return this.id; })
在当前页面上运行$(".post-text").map(function(){ return this.id; })
将返回如下内容:["", "", "", "", ""]
要获取选择器返回的第一个元素的id
:
.attr('id')
在当前页面上运行$("div").attr('id')
将返回"notify-container"
。
从jQuery 1.6开始,你也可以在这里使用.prop('id')
。
如果你知道,那个查询只返回一个元素,或者你只想要第一个元素匹配给定的选择器,那么使用.attr
这显然是一个更简单的解决方案。