基本上,我只能将此方法用于图像。问题是如何将此方法用于文本类型。
图像方法:
<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>
答案 0 :(得分:0)
您的代码存在一些问题。
您没有初始化文本数组,但尝试用数据填充
您没有填写标签的文字,而是尝试更改其来源。
这样可以正常工作:
<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>
答案 1 :(得分:-1)
这是一个想法,不要在每件小事上都使用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
&#13;
<a id="randomx" href="#"></a>
&#13;