我具有以下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>
我想更改第三个LI元素中最后一个SPAN元素的文本,因此我创建了以下jQuery脚本:
document.getElementById("c").children(".showing").innerHTML = "Peer Reviewed";
脚本返回错误:
未捕获的TypeError:document.getElementById(...)。children不是函数”
我在做什么错了?
我检查了previous answers,但所有情况都是非常不同的。
列表不是静态的,而是基于用户的选择,因此我必须使用最后一个LI元素的ID(它是静态的)。
始终只有一个响应可以回答此功能(即,在此ID下,始终只有一个SPAN此类)。
我相信问题是我得到的是一个数组,即使其中只有一个元素,我也需要以某种方式选择该特定元素。
我尝试了以下脚本,但是得到了相同的错误消息:
var limiterchange = document.getElementById("appcustomlimiter0removeli").children(".limiter");
$limiterchange[0].innerHTML = "Peer Reviewed";
答案 0 :(得分:1)
这将为您做事情。
var el = document.getElementById("c");
el.getElementsByClassName('showing')[0].innerHTML = "Peer Reviewed"
或者您可以使用:
var el = document.getElementById("c");
el.querySelector('span.showing').innerHTML = "Peer Reviewed"