【问题标题】:How do I change the text of a span element in JavaScript?如何在 JavaScript 中更改 span 元素的文本?
【发布时间】:2017-10-03 01:50:02
【问题描述】:

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

图像方法:

<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>

【问题讨论】:

  • 同一个概念:构建一个可能的数据数组,随机选择数据,并将内容设置为随机选择的值。你在哪里卡住?我建议展示你尝试了什么以及具体出了什么问题。
  • 我尝试像文字一样改变图像的侧面,但是没有用。
  • 你的意思是这样的吗:jsfiddle.net/qr1pqawj/2

标签: javascript jquery arrays html


【解决方案1】:

您的代码有几个问题。

  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>

jsFiddle

【讨论】:

    【解决方案2】:

    这里有一个想法,尽量不要对每件小事都使用 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
    &lt;a id="randomx" href="#"&gt;&lt;/a&gt;

    【讨论】:

      猜你喜欢
      • 2010-11-24
      • 1970-01-01
      • 1970-01-01
      • 2019-03-12
      • 1970-01-01
      • 2015-10-18
      • 2014-05-25
      相关资源
      最近更新 更多