2015-10-23 13 views
0
for(y=0;y<3;y++) 
{ 
var Text = 0; 
var TextLength = 0; 
var Text = document.getElementsByClassName("Introduction")[y].innerHTML; 
var TextLength = Text.length; 

    if(TextLength > 250){ 
     document.getElementsByClassName("Read_More")[y].innerHTML = "Read More"; 
    } 
    else{ 
     document.getElementsByClassName("Read_More")[y].innerHTML = ""; 
    } 
} 

该代码是为了运行两次,每次计算字符的长度/号码,在它的类是一个“P”“简介”。Javascript代码改变innerHTML的值,如果长度限制:Textlength> 250

其中有三种,但由于编号从0开始,而不是1,因此代码将显示“y < 3”。如果TextLength的值是'p class =“Introduction”'中的字符数大于250,那么'p class =“Read_More”'中的文本应为“Read More”。

如果不是,则应保持空白。 'p class ='简介''和'p class ='Read_More''的数量是相同的,并且它应该满足前者的要求条件,代码将在相应的后一个元素中执行。

尽管我已经在在线调试器上尝试了这些代码,但没有发现任何错误,并且在线的网页设计工具上,它的工作原理与它应有的一样,但一旦我在浏览器上尝试它,它就无法工作。如果有人能帮助我,我将不胜感激。

+1

当你尝试在浏览器中打开的调试工具,把一个断点在代码中。 (Chromes工具是最好的)然后只是通过并检查所有的值。 – OrangeKing89

+1

小提琴会更容易,所以我们可以尝试看看有什么不对,从这里我们不知道你是否在某些时候收到了零位。 – Saar

+0

我不明白这是行不通的,但是你可以改变(y = 0; y <3; y ++) var TextLength = document.getElementsByClassName(“Introduction”)[y] .innerHTML.length;如果(TextLength> 250){ document.getElementsByClassName(“Read_More”)[y] .innerHTML =“Read More”; } else { document.getElementsByClassName(“Read_More”)[y] .innerHTML =“”; } } – Dane

回答

0

我希望你的意思是这样的:

window.onload = function() { 
 
    var intros= document.getElementsByClassName("Introduction"), 
 
     mores= document.getElementsByClassName("Read_More"); 
 
    for (var i = 0; i < intros.length; i++) { 
 
    var text = intros[i].innerHTML; 
 
    var textLength = text.length; 
 
    mores[i].innerHTML=textLength>250?"Read More":""; 
 
    } 
 
}
<p class="Introduction">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris magna ligula, sagittis at velit quis, laoreet rhoncus metus. Praesent ac aliquam enim, quis fringilla nunc. Proin eget viverra ligula, a blandit neque. Quisque finibus luctus elementum.</p><p class="Read_More"></p> 
 
<hr /> 
 
<p class="Introduction">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris magna ligula, sagittis at velit quis, laoreet rhoncus metus. Praesent ac aliquam enim, quis fringilla nunc. Proin eget viverra ligula, a blandit neque. Quisque finibus luctus elementum. Donec sed.</p><p class="Read_More"></p> 
 
<hr /> 
 
<p class="Introduction">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris magna ligula, sagittis at velit quis, laoreet rhoncus metus. Praesent ac aliquam enim, quis fringilla nunc. Proin eget viverra ligula, a blandit neque.</p><p class="Read_More"></p>

+0

此代码有效。非常感谢你! –

+0

实际上,我只是将window.onload = function(){}添加到我的原始代码中,并且它像梦一样工作。当然,其余的代码并没有改变,但是它可以工作。再一次感谢你。 –

+0

是的,段落必须存在,然后再操纵它们 – mplungjan