javascript - 如何使 getElementsByClassName 对所有元素进行更改?

标签 javascript

我是 javascript 的新手,我想将更改应用于具有相同类名的所有元素,但我只能让我的脚本对第一个元素进行更改。

这是我的脚本。提前致谢。

function ReadMore(){  
var txt = document.getElementsByClassName('pa')[0].innerHTML;


var btn=document.createElement("BUTTON");
var t=document.createTextNode("...");
btn.appendChild(t);
btn.onclick = function(){
document.getElementsByClassName("pa")[0].innerHTML= txt;
 };

if (txt.length > 350){
var split = txt.slice(0, 50); 
document.getElementsByClassName("pa")[0].innerHTML= split;
document.getElementsByClassName("pa")[0].appendChild(btn);
}}

最佳答案

这是一种编写代码的方法,我只更改循环代码,我不知道您想对元素做什么,但是如果您想对所有项目都这样做,可以使用此代码

function ReadMore(){  

   var elements = document.getElementsByClassName('pa');

   for (var i = 0; i < elements.length; ++i) {  
       var item = elements[i];    
       var txt = item.innerHTML;
       var btn = document.createElement("BUTTON");
       var t = document.createTextNode("...");

       btn.appendChild(t);
       btn.onclick = function(){
         item.innerHTML= txt;
       };

       if (txt.length > 350){
           var split = txt.slice(0, 50); 
           item.innerHTML = split;
           item.appendChild(btn);      
       }    
}}

关于javascript - 如何使 getElementsByClassName 对所有元素进行更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20861979/

相关文章:

php - 如何从网页读取客户端文件头?

javascript - 如何检测滚动条的一侧?

javascript - 如何选择多个 jQuery 对象?

javascript - PouchDB:单选按钮值未保存到数据库

javascript - Chrome 动画检查器删除动画?如何录制动画?

javascript - 如何检测以页面身份登录的用户,FB.getLoginStatus 不起作用?

javascript - 将日期时间文本从一个元素复制到另一个元素

javascript - 调用变量中包含的 javascript 代码

javascript - 如何解决 Angular 内存泄漏

javascript - 如何解码这个加密代码?