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

如何从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。


千万里不及你
浏览 1143回答 3
3回答

尚方宝剑之说

您可以使用以下方法访问原始DOM元素:$("table").get(0);或者更简单地说:$("table")[0];但是,实际上你并不需要这个(根据我的经验)。以您的复选框为例:$(":checkbox").click(function()&nbsp;{ &nbsp;&nbsp;if&nbsp;($(this).is(":checked"))&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;do&nbsp;stuff &nbsp;&nbsp;}});是更“jQuery‘ish”和(Imho)更简洁。如果你想数数呢?$(":checkbox").each(function(i,&nbsp;elem)&nbsp;{ &nbsp;&nbsp;$(elem).data("index",&nbsp;i);});$(":checkbox").click(function()&nbsp;{ &nbsp;&nbsp;if&nbsp;($(this).is(":checked")&nbsp;&&&nbsp;$(this).data("index")&nbsp;==&nbsp;0)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;do&nbsp;stuff &nbsp;&nbsp;}});其中一些特性也有助于掩盖浏览器中的差异。有些属性可能是不同的。典型的例子是Ajax调用。若要在原始Javascript中正确地执行此操作,将有大约7种回退案例XmlHttpRequest.

MM们

我需要将元素作为字符串。jQuery("#bob").get(0).outerHTML;这会给你这样的感觉:<input&nbsp;type="text"&nbsp;id="bob"&nbsp;value="hello&nbsp;world"&nbsp;/>.作为字符串而不是DOM元素.
打开App,查看更多内容
随时随地看视频慕课网APP