Jquery使用.text()可以改变bootstrap类的第一个span,但不能改变第二个span

jquery using .text() able to change boostrap class first span but not second

本文关键字:span 第一个 第二个 能改变 不能 bootstrap text 使用 改变 Jquery      更新时间:2023-09-26

所以我对javascript/html和jquery非常新,并阅读了许多关于使用jquery .text()命令更改span元素的问题,其中没有一个似乎对我的具体情况有所不同,这是使用jquery更改同一div中2 span元素的文本。

这是我的HTML

<div>
      <p>
         <span class="label label-primary" id="mstatusDim">loading..</span>
         <span class="label label-warning" id="warmup">loading</span>
      </p>
</div>

和javascript

   $("#mstatusDim").text(result.stat);
   $("warmup").text("test");

它们所在的函数是返回结果的getJSON调用。XXX

但是由于某些原因我不明白,我永远无法改变"warmup" id span的文本。

我也试着改变类是唯一的,以及做以下

<div>
  <p>
     <span class="mstat label label-primary" id="mstatusDim">loading..</span>
     <span class="warmuptest label label-warning" id="warmup">loading</span>
  </p>
</div>

但也没有运气。即使我切换它们的顺序,"mstatusDim"跨度总是会正确更新,而"预热"永远不会,所以这就是为什么我抓挠我的头这么多,因为它部分工作…

在理想情况下,我希望第二个span没有文本并且不可见,除非我向它传递。text("XYZ")在这种情况下,它将与信息

一起出现
  <span class="mstat label label-primary" id="mstatusDim">loading..</span>
  <span class="warmuptest label label-warning" id="warmup"></span>
任何想法或建议都将非常感谢!

看起来您刚刚错过了一个ID选择器('#')

改变
$("warmup").text("test");

$("#warmup").text("test");