您需要 .get(0) 结果来获取 DOM 就绪对象。
var myBox = $("div#myBox");
alert(myBox.get(0).id); // "myBox"
Read "剥开 jQuery 包装并查找数组 http://www.learningjquery.com/2008/12/peeling-away-the-jquery-wrapper科迪·林德利
回复:编辑: .is()
不是原生 JavaScript 方法。当你跑步时.get(0)
,您不再使用 jQuery 对象,因此您不能指望从中运行 jQuery 方法。
如果你想跑步.is()
对于特定的结果,使用:eq(index) selector http://docs.jquery.com/Selectors/eq#index, 或者.eq(index) method http://docs.jquery.com/Traversing/eq#index:
$("div:eq(1)").is(":checked"); // gets second div
$("div").eq(1).is(":checked"); // gets second div
回复:编辑#2
鲍勃,你真的应该创造新的
问题,而不是问更多
更多这里。
将 dom 元素转换为 jquery 对象是通过将其传递到选择器中来完成的:
var myBox = document.createElement("div");
var myBoxJQ = $(myBox);
分配This
到一个变量。取决于你什么时候做。如果“this”指的是一个 jQuery 对象,那么this
将是一个 jQuery 对象。您可以通过以下方式进行转换this
with .get(0)
.
When this
引用的是 jQuery 对象,您不需要将其包装在 $() 中。这是多余的。
最后,$elemSel.children('td').nodeName
可以这样做:$elemSel.children('td')[0].nodeName
or
$elemSel.children('td').get(0).nodeName
,其中 0 是要访问的项目的索引。