为了账号安全,请及时绑定邮箱和手机立即绑定

如何从JQuery选择器中获取DOM元素

如何从JQuery选择器中获取DOM元素

千万里不及你 2019-07-19 18:53:27
如何从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。
查看完整描述

3 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

您可以使用以下方法访问原始DOM元素:

$("table").get(0);

或者更简单地说:

$("table")[0];

但是,实际上你并不需要这个(根据我的经验)。以您的复选框为例:

$(":checkbox").click(function() {
  if ($(this).is(":checked")) {
    // do stuff
  }});

是更“jQuery‘ish”和(Imho)更简洁。如果你想数数呢?

$(":checkbox").each(function(i, elem) {
  $(elem).data("index", i);});$(":checkbox").click(function() {
  if ($(this).is(":checked") && $(this).data("index") == 0) {
    // do stuff
  }});

其中一些特性也有助于掩盖浏览器中的差异。有些属性可能是不同的。典型的例子是Ajax调用。若要在原始Javascript中正确地执行此操作,将有大约7种回退案例XmlHttpRequest.


查看完整回答
反对 回复 2019-07-19
?
MM们

TA贡献1886条经验 获得超2个赞

我需要将元素作为字符串。

jQuery("#bob").get(0).outerHTML;

这会给你这样的感觉:

<input type="text" id="bob" value="hello world" />

.作为字符串而不是DOM元素.


查看完整回答
反对 回复 2019-07-19
  • 3 回答
  • 0 关注
  • 1138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信