Javascript 无法访问li元素内的span?
我正在制作一个简单的网络应用程序。在其中一部分,我有:Javascript 无法访问li元素内的span?,javascript,html,Javascript,Html,我正在制作一个简单的网络应用程序。在其中一部分,我有: <ul class="sortable list-group"> <li id="firstTag" class="tags list-group-item"> <span id="present-count" class="badge"></span> </li> 编辑: 在window.onload函数中调用这两个函数,在“present count”之前调用
<ul class="sortable list-group">
<li id="firstTag" class="tags list-group-item">
<span id="present-count" class="badge"></span>
</li>
编辑:
在window.onload函数中调用这两个函数,在“present count”之前调用“firstTag”。看这把小提琴:
这就是我希望输出的样子:
其中“当前”文本和数字都可以更改。(我正在使用引导)。请尝试此代码段
document.getElementById("firstTag").innerHTML = document
.getElementById("firstTag")
.innerHTML
+ "first";
document.getElementById("present-count").innerHTML ="something";
希望能有帮助
$("#firstTag #present-count").html();
将jquery文件添加到您的页面并尝试此操作如果您只是想将一些文本放在
当前计数之前
span,那么只需添加另一个span并将其作为目标,而不是包装li
:
<ul class="sortable list-group">
<li id="firstTag" class="tags list-group-item">
<span id="another-tag"></span>
<span id="present-count" class="badge"></span>
</li>
document.getElementById("another-tag").innerHTML = "some text";
document.getElementById("present-count").innerHTML = "some more text";
-
document.getElementById(“另一个标记”).innerHTML=“一些文本”;
document.getElementById(“当前计数”).innerHTML=“更多文本”;
听起来您想创建一个文本节点:
var textNode = document.createTextNode("first");
document.getElementById("firstTag").appendChild(textNode);
document.getElementById("present-count").innerHTML = "something";
或将文本置于跨度之前:
var textNode = document.createTextNode("first");
var present = document.getElementById("present-count");
present.innerHTML = "something";
document.getElementById("firstTag").insertBefore(textNode, present);
这是一个示例。尝试添加此示例
document.getElementById("firstTag").innerHTML ='<span id="present-count" class="badge">'
+ '</span>'
+ ' first';
document.getElementById("present-count").innerHTML = 'something';
然后您找不到id为
present count
的元素,因为它不在那里 什么时候执行对getElementById的调用?对我来说效果很好:@RGraham在window.onload和进行任何编辑时都会调用它们。@coder您正在替换小提琴中的li
的innerHTML<代码>当前计数不再存在。@coder:是的,那就是你的问题了。如果您替换了外部元素的innerHTML
,那么您已经替换了您要查找的标记!你到底想做什么?您实际上希望输出是什么样子的?
document.getElementById("firstTag").innerHTML ='<span id="present-count" class="badge">'
+ '</span>'
+ ' first';
document.getElementById("present-count").innerHTML = 'something';
<ul class="sortable list-group">
<li id="firstTag" class="tags list-group-item">
first
</li>
</ul>