2012-08-15 53 views
3

如果我使用这个$("div:jqmData(role='page')")它会返回我在我的DOM对象中的页面数组。但jquerymobile创建一个没有任何ID的默认空白页面,所以我不能通过它的ID实际得到它。相反,我使用$("div:jqmData(role='page')").get(0)获取代表创建的默认页面jquery的第一个DOM对象。从DOM数组中删除一个DOM对象

但如果我使用$("div:jqmData(role='page')").get(0).remove()它不会删除页面,但它会返回错误。

任何人都可以教我如何删除该DOM?谢谢!

+0

_“将返回我的页面数组” _ - 更正:它会返回一个jQuery对象与你的页面。 – nnnnnn 2012-08-15 11:49:42

回答

5

.remove()是一个jQuery方法,所以你需要一个jQuery对象来调用它。 .get虽然返回一个DOM元素。使用.eq[docs],而不是获取该元素为jQuery对象:

$("div:jqmData(role='page')").eq(0).remove() 
3

.get()函数返回的DOM元素本身,所以你将不能够后链jQuery的功能(如.remove())。如果您需要这样做,请使用.eq()方法,该方法返回包装在jQuery对象中的单个DOM元素,从而允许您链接。

1

它不起作用,因为.get()返回的是底层DOM元素,而不是的jQuery对象。您可以使用.eq()访问特定索引处的jQuery对象。

所以这应该工作:

$("div:jqmData(role='page')").eq(0).remove()