Javascript替换span中的文本

javascript replace text in span

本文关键字:文本 span 替换 Javascript      更新时间:2023-09-26

我四处看看,发现了这个代码,并试图让它工作,但没有运气。基本上,如果你点击按钮,它会用Hello world.

替换span中的文本。
<script type="text/javascript">
    $(function(){                                
            $("#change").click(function(){              
                var onlineSpan = $("#people").text().replace("Hello World");
                $("#people").text(onlineSpan);
            });
            $("#refresh").click(function(){
                location.reload();
            });
        });
</script>
<span id="people">content to replace</span>
<button id="change"> Change </button>

我想做的是替换span中的文本,但使用数组每60秒更新一个随机条目从数组而不是使用一个按钮的跨度。此外,跨度位于iframe内,该iframe位于同一域中。

iframe 1

var myCars = new Array();
myCars[0] = "Saab";
myCars[1] = "Volvo";
myCars[2] = "BMW";
$(function(){                                
     $("#change").click(function(){              
     var carSpan = $("#cars").text().replace(myCars);
     $("#cars").text(carSpan);
     });
 });

iframe 2

<span id="cars">content to replace</span>

要以间隔(每60秒)执行Javascript,请使用setInterval。要获得一个随机数,使用Math.random(),如下所述。

var myCars = new Array();
myCars[0] = "Saab";
myCars[1] = "Volvo";
myCars[2] = "BMW";
function changeCars() {
     var randomI = Math.floor(Math.random()*myCars.length);
     var carSpan = $("#cars").html(myCars[randomI]);
}
$(document).ready(function(){                                
     setInterval(changeCars, 60000);
 });

如果你想给span添加新值:

 var carSpanText = $('#cars').text(),
     randomnum = Math.floor(Math.random() * myCars.length);
 $('#cars').text( carSpanText + myCars[randomnum] );

如果你只需要替换文本,那么:

 var randomnum = Math.floor(Math.random() * myCars.length);
 $('#cars').text( myCars[randomnum] );