javascript - 如何从 jQuery 选择器中获取 DOM 元素?

标签 javascript jquery dom

我很难从 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/

相关文章:

javascript - 通过属性名获取 HTML 元素

javascript - 获取用户的 HTML 输入

javascript - 表单 ng-submit 加载 subview ,但仅加载一次

javascript - 单击按钮时如何在自动完成文本框中填充数据?

javascript - 运行使用 json 的 ajax 函数后,浏览器保持加载(加载指示器保持旋转)

javascript - 使用 jQuery 突出显示带有复选框的表格行

html - 响应式设计 css dom 元素操作

javascript - 使用javascript在两个div之间自动切换

javascript - 未捕获的类型错误 : Cannot read property 'insert'

javascript - 使用 javascript 和 DOM 获取当前页面的源代码