Javascript - 从Javascript对象中提取对象ID

时间:2011-10-17 15:50:53

标签: javascript jquery html

所以我不确定我的头衔是否足够清晰。我本质上有一个div保存为Javascript对象,如下所示:[div#field_30.checkbox_group]

field_30是我想在这里提取的ID。做object.id这样的事情是行不通的。有谁知道如何获取ID?

注意:我保存了这样的对象:var object = $(".workspace .selected");,它抓取了名为workspace的对象中当前选中的div。对不起,这是一个菜鸟的错误,我似乎无处可寻。谢谢你的帮助...

5 个答案:

答案 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)

在这种情况下看起来objectjQuery选择的结果。要获得实际的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这显然是一个更简单的解决方案。