选择器返回的对象不是元素

时间:2019-07-14 23:50:36

标签: jquery html

我有一些html代码,我正在尝试使用jQuery选择器来选择单个锚标记,但是它一直在返回一个对象。我知道我可以使用以下方法来选择它:

$("a")[1];

但是,如果我有几十个,那我该数数还是有一个更简单的方法呢?我正在尝试遍历并仅选择id = monkey

的1

$("#monkey").each(function() {
  console.log(this);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1>jQuery Demo!</h1>

<ul>
  <li>Newt</li>
  <li>Howler Monkey <a href="https://medical-dictionary.thefreedictionary.com/Monkies">Monkey</a></li>
  <li id="adorable">Pine Marten</li>
</ul>

<a id="monkey" href="https://www.google.com">Google</a>

2 个答案:

答案 0 :(得分:1)

您正在使用的选择器已按ID进行过滤。 jQuery返回一个jquery对象,其中包含您的元素,因此请像这样访问基础的html(dom)元素”

var myElem = $("#monkey")[0];

jquery对象集合基于零。

答案 1 :(得分:0)

尝试一下:

var myElem = $("#monkey");

if (myElem.length == 0)
  console.log ("No monkey element exists");
else 
  console.log ("Monkey element exists: href = " + myElem.attr("href") + "; text=" + myElem.text());