繁体   English   中英

如何在 JavaScript 中更改 span 元素的文本?

[英]How do I change the text of a span element in JavaScript?

基本上,我只能将这种方法用于图像。 问题是如何将这种方法用于文本类型。

图像方法:

<a href="#"><img id="random"></a>
<script>
var image = new Array ();
image[0] = "image1.jpg";
image[1] = "image2.jpg";
image[2] = "image3.jpg";
image[3] = "image4.jpg";
var size = image.length
var x = Math.floor(size*Math.random())

$('#random').attr('src',image[x]);

文本 HTML 如下所示:

<span id="xx" href="#" class="text-ellipsis">Text Here</span>

我试过这样:

<a id="randomx" href="#">Text Here</a>
<script>
  var image = new Array();
  text[0] = "TEXT1";
  text[1] = "TEXT2";
  text[2] = "TEXT3";
  text[3] = "TEXT4";
  var size = text.length
  var x = Math.floor(size * Math.random())

  $('#randomx').attr('src', text[x]);
</script>

您的代码有几个问题。

  1. 你不是在初始化你的文本数组,而是试图用数据填充它

  2. 你不是在填充 a 标签的文本,而是试图改变它的来源。

这将工作得很好:

<a id="randomx" href="#">Text Here</a>
<script>
  var text = new Array();
  text[0] = "TEXT1";
  text[1] = "TEXT2";
  text[2] = "TEXT3";
  text[3] = "TEXT4";
  var size = text.length
  var x = Math.floor(size * Math.random())

  $('#randomx').text(text[x]);
</script>

js小提琴

这是一个想法,尽量不要对每一件小事都使用 jQuery。

 var el = document.getElementById("randomx"); var image = new Array(); image[0] = "TEXT1"; image[1] = "TEXT2"; image[2] = "TEXT3"; image[3] = "TEXT4"; var size = image.length var x = Math.floor(size * Math.random()) el.src = image[x]; //set source el.innerHTML = image[x]; //set link text
 <a id="randomx" href="#"></a>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM