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

时间:2017-10-02 16:30:36

标签: javascript jquery html arrays html5

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

图像方法:

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

2 个答案:

答案 0 :(得分:0)

您的代码存在一些问题。

  1. 您没有初始化文本数组,但尝试用数据填充

  2. 您没有填写标签的文字,而是尝试更改其来源。

  3. 这样可以正常工作:

    <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

答案 1 :(得分:-1)

这是一个想法,不要在每件小事上都使用jQuery。

&#13;
&#13;
 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
&#13;
<a id="randomx" href="#"></a>
&#13;
&#13;
&#13;