JavaScript - 如何获取DOM元素的第一个子元素的文本?

Ric*_*ton 0 javascript jquery dom

我试图在JavaScript中构建一系列水果,为此,我需要获取元素的所有li子ul元素的文本值.我取得了一些进步,因为我能够找到我的名单上的孩子数量.

$("#fruits-list > li").length
=> 6
Run Code Online (Sandbox Code Playgroud)

我也可以通过索引找到元素.在这里,我找到了第一个使用它的元素

$("#fruits-list > li")[0]
=> <li id="apple">Apple</li>
Run Code Online (Sandbox Code Playgroud)

我能够获得元素,但我无法获得它的测试值.在这里,我试图获得文本值apple,我已经尝试了几乎所有东西.我试过了

  1. $("#fruits-list > li")[0].text
  2. $("#fruits-list > li")[0].html
  3. $("#fruits-list > li")[0].val

我得到undefined了他们三个.我也尝试()在所有这些结尾添加,但得到了TypeError: Is not a function.

我在SO上找不到答案.任何帮助表示赞赏.提前致谢.

Den*_*ret 6

当您在jQuery元素上使用带有索引的括号表示法时,您将获得一个DOM元素.无法直接使用jQuery函数调用这些对象.请改用eq.

使用

$("#fruits-list > li").eq(0).text()
Run Code Online (Sandbox Code Playgroud)

请注意,如果您的最终目标是构建LI元素的文本数组,那么您可以这样做

var arr = $("#fruits-list > li").map(function(){ return $(this).text() }).get();
Run Code Online (Sandbox Code Playgroud)