Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法访问li元素内的span?_Javascript_Html - Fatal编程技术网

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>