我很难从 jQuery 选择器中找到实际的 DOMElement
。
示例代码:
<input type="checkbox" id="bob" />
var checkbox = $("#bob").click(function() { //some code } )
在另一段代码中,我试图确定复选框的选中值。
if ( checkbox.eq(0).SomeMethodToGetARealDomElement().checked )
//do something.
请,我不想这样做:
if ( checkbox.eq(0).is(":checked"))
//do something
这让我绕过了复选框,但其他时候我需要真正的 DOMElement
。
最佳答案
您可以通过以下方式访问原始 DOM 元素:
$("table").get(0);
或更简单地说:
$("table")[0];
然而,实际上你并不需要这个(根据我的经验)。以您的复选框为例:
$(":checkbox").click(function() {
if ($(this).is(":checked")) {
// do stuff
}
});
更“jquery'ish”并且(恕我直言)更简洁。如果你想给它们编号怎么办?
$(":checkbox").each(function(i, elem) {
$(elem).data("index", i);
});
$(":checkbox").click(function() {
if ($(this).is(":checked") && $(this).data("index") == 0) {
// do stuff
}
});
其中一些功能也有助于掩盖浏览器中的差异。有些属性可能不同。经典的例子是 AJAX 调用。要在原始 Javascript 中正确执行此操作,XmlHttpRequest
有大约 7 个后备案例。
关于javascript - 如何从 jQuery 选择器中获取 DOM 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1677880/