更改跨度文本非常缓慢

Change span text is very slow

本文关键字:非常 缓慢 文本      更新时间:2023-09-26

这是我下面的代码:

<script type='text/javascript'>//<![CDATA[ 
$(window).load(function(){
var spans = document.getElementsByTagName("span");
for(var i=0;i<spans.length; i++) {
 if(spans[i].innerHTML == "Test 2") {
    spans[i].innerHTML = "some example text";
    break;
 }
}
});//]]>  
</script>
<div class="sptests">
  <ul>
      <li id="sp_test" class=""><span>Test</span></li>
      <li id="sp_test2" class=""><span>Test 2</span></li>
      <li id="sp_test3" class=""><span>Test 3</span></li>
  </ul>
</div>

我想更改li id="sp_test2"的span文本。我使用了上面的javascript,但它需要很长时间才能更改,即它首先显示"测试2"文本,然后在页面加载完成后显示更改后的文本"一些示例文本"。

我想在页面加载时立即更改跨度文本。任何人请帮帮我。。。还提出了替代方法。

<script type='text/javascript'>//<![CDATA[ 
$(document).ready(function(){
var spans = document.getElementsByTagName("span");
for(var i=0;i<spans.length; i++) {
 if(spans[i].innerHTML == "Test 2") {
    spans[i].innerHTML = "some example text";
    break;
 }
}
});//]]>  
</script>

试试看。如果我是正确的,$(window).load会等待所有东西都到位$(文档)。准备应该更快。

编辑

其次,如果您无论如何都在使用jQuery(从您对$(window)的使用情况来看,您是对的?),你还不如用它:

<script type='text/javascript'>//<![CDATA[ 
$(document).ready(function(){
    $("sp_test2").children("span").html("Some example text");
});//]]>  
</script>
<div class="sptests">
  <ul>
      <li id="sp_test" class=""><span>Test</span></li>
      <li id="sp_test2" class=""><span>Test 2</span></li>
      <li id="sp_test3" class=""><span>Test 3</span></li>
  </ul>
</div>

使用jquery:

$("span").each(function() {
    if($(this).text() == "Test 2") {
        $(this).text('some example text');
    }
})