从 DOM 数组中移除 DOM 对象
Posted
技术标签:
【中文标题】从 DOM 数组中移除 DOM 对象【英文标题】:removing a DOM object from an array of DOM 【发布时间】:2012-08-11 17:02:13 【问题描述】:如果我使用这个$("div:jqmData(role='page')")
,它将返回我的DOM
对象中的页面数组。但是 jquerymobile 创建了一个没有任何 ID 的默认空白页面,因此我实际上无法通过其 ID 获取它。相反,我使用$("div:jqmData(role='page')").get(0)
来获取代表创建的默认页面 jquery 的第一个 DOM 对象。
但如果我使用$("div:jqmData(role='page')").get(0).remove()
,它不会删除页面,但会返回错误。
谁能教我如何删除那个 DOM?谢谢!
【问题讨论】:
“它将返回页面数组” - 更正:它将返回一个带有您的页面的 jQuery 对象。 【参考方案1】:.remove()
是一个 jQuery 方法,所以你需要一个 jQuery 对象来调用它。 .get
虽然返回一个 DOM 元素。使用.eq
[docs] 来获取元素作为jQuery 对象:
$("div:jqmData(role='page')").eq(0).remove()
【讨论】:
【参考方案2】:.get()
函数返回 DOM 元素本身,因此您将无法在它之后链接 jQuery 函数(例如 .remove()
)。如果您需要这样做,请使用 .eq()
方法,该方法返回包装在 jQuery 对象中的单个 DOM 元素,允许您进行链接。
【讨论】:
【参考方案3】:它不起作用,因为.get()
返回底层 DOM 元素,不是 jQuery 对象。您可以使用.eq()
访问特定索引处的 jQuery 对象。
所以这应该有效:
$("div:jqmData(role='page')").eq(0).remove()
【讨论】:
以上是关于从 DOM 数组中移除 DOM 对象的主要内容,如果未能解决你的问题,请参考以下文章