首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用jQuery追加文本以跨越

用jQuery追加文本以跨越
EN

Stack Overflow用户
提问于 2018-05-26 20:23:07
回答 5查看 9.3K关注 0票数 1

我有一个进度条,有四个步骤。见下面的HTML

代码语言:javascript
复制
<ul class="progress-indicator">
<li class="completed"> <span id="signupformstep1" class="bubble"></span></li>
<li class="completed"> <span id="signupformstep2" class="bubble"></span></li>
<li><span id="signupformstep3" class="bubble"></span></li>
<li><span id="signupformstep4" class="bubble"></span></li>
</ul>

使用jQuery,我试图添加一些文本,但它并没有做我希望它做的事情。

这是可行的,但在所有li元素中都附加了相同的文本:

代码语言:javascript
复制
  $("li").append('hiya');

如果我尝试选择要附加文本的id列表,它将不会显示。

代码语言:javascript
复制
  $("#signupformstep1").append('hello'); // does not work

编辑--我用所有这些标记进行了测试,它们都能工作,虽然span没有显示正确,但它附加了:

代码语言:javascript
复制
$("span").html("hello");
$("span").text("hello");
$("span").append("hello");

Span输出

代码语言:javascript
复制
$("li").html("hello");
$("li").text("hello");
$("li").append("hello");

li输出(期望输出)

但是,无论我在li还是span上使用hashtag,它都会失败。下面的代码没有一个在我的应用程序中运行:

代码语言:javascript
复制
$("#signupformstep1").html("hello");
$("#signupformstep1").text("hello");
$("#signupformstep1").append("hello");

预期的产出将是:

代码语言:javascript
复制
<ul class="progress-indicator">
<li class="completed"> <span id="signupformstep1" class="bubble">Step 1</span></li>
<li class="completed"> <span id="signupformstep2" class="bubble">Step 2</span></li>
<li><span id="signupformstep3" class="bubble">Step 3</span></li>
<li><span id="signupformstep4" class="bubble">Step 4</span></li>
</ul>
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-05-26 20:52:07

由于我们无法确定为什么您的代码不能在应用程序中工作,而是在其他示例中工作,所以这里有一种使用text(function)的方法,它在不需要任何id的情况下在所有冒泡类上进行内部循环,只需要索引来设置步骤号

代码语言:javascript
复制
$('.progress-indicator .bubble').text(i => 'Step ' + (i + 1))
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="progress-indicator">
  <li class="completed"> <span id="signupformstep1" class="bubble"></span></li>
  <li class="completed"> <span id="signupformstep2" class="bubble"></span></li>
  <li><span id="signupformstep3" class="bubble"></span></li>
  <li><span id="signupformstep4" class="bubble"></span></li>
</ul>

票数 2
EN

Stack Overflow用户

发布于 2018-05-26 20:27:00

在使用append()时,必须传递一个DOM元素来附加到节点。因此,尝试按以下方式设置text()

代码语言:javascript
复制
$("#signupformstep1 .bubble").text("hello");

或者,如果您试图在<li>内的span之前或之后设置文本,则可以在它之前或之后具体添加文本:

代码语言:javascript
复制
$("signupformstep1 .bubble").before("hello");
$("signupformstep1 .bubble").after("hello");
票数 0
EN

Stack Overflow用户

发布于 2018-05-26 20:58:26

您的ID选择器jQuery和HTML看起来应该可以工作,那么您的ID不都是小写的吗?或者,is还有一些异常的地方,就像后来运行的另一个脚本所添加的那样。

还应该注意的是,text()和html()将替换标记中已经存在的所有内容。所以你可能想要$(‘#id’).html($(‘#id’).html() + ‘hello’)

在没有添加到元素中的现有内容的元素之后添加内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50546712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档