Jquery 使用类筛选器时,Uncaught typeError children()不是函数

Jquery 使用类筛选器时,Uncaught typeError children()不是函数,jquery,class,innerhtml,children,Jquery,Class,Innerhtml,Children,我有以下HTML结构: <ul> <li id="a"> <a class="x"> <span class="hidden"></span> </a> <span class="showing">Some text</span> </li> <li id="b"> <a class="x

我有以下HTML结构:

<ul>
   <li id="a">
      <a class="x">
         <span class="hidden"></span>
      </a>
      <span class="showing">Some text</span>
   </li>
   <li id="b">
      <a class="x">
         <span class="hidden"></span>
      </a>
      <span class="showing">Some text</span>
   </li>
   <li id="c">
      <a class="x">
         <span class="hidden"></span>
      </a>
      <span class="showing">Some text</span>
   </li>
</ul>
脚本返回一个错误:

未捕获的TypeError:document.getElementById(…)。子对象不是函数“

我做错了什么

我查过了,但这些都是完全不同的情况

列表不是静态的,而是基于用户选择构建的,因此我必须使用最后一个LI元素的ID(它是静态的)

始终只有一个响应响应此函数(即,此ID下的此类始终只有一个跨度)

我认为问题是我得到的是一个数组,即使它只有一个元素,我需要以某种方式选择那个特定的元素

我尝试了以下脚本,但收到了相同的错误消息:

var limiterchange = document.getElementById("appcustomlimiter0removeli").children(".limiter");
    $limiterchange[0].innerHTML = "Peer Reviewed";

这会对你有好处的

var el = document.getElementById("c");
el.getElementsByClassName('showing')[0].innerHTML = "Peer Reviewed"
或者,您也可以选择使用:

var el = document.getElementById("c");
el.querySelector('span.showing').innerHTML = "Peer Reviewed"

HTMLElement.children
不是函数,而是属性。@根据文档,它应该返回所选元素的所有直接子元素:是的,但是
getElementById
不返回jQuery元素。它返回HTML元素。为了能够使用jQuery的
.children
,您必须使用jQuery元素。如下:
$(“#appcustomlimiter0removeli”).children()
谢谢@Phiter。我接受了下面的答案,但我现在明白了你的意思。第一个选项返回了一个错误:Uncaught TypeError:limiterchange.getElementsbyClassName不是一个函数。第二个选项非常有效!非常感谢!
var el = document.getElementById("c");
el.querySelector('span.showing').innerHTML = "Peer Reviewed"