javascript - 如何在组合中创建代码?

标签 javascript html

我有 8 个 li 标签.. 当我输入名称时,我希望每个 li 标签为绿色.. 但我无法创建组合.. 例如,当我输入我的名字时,一个 li 标签将为绿色..我如何创建组合?

    <style>
    .color {
        background: green;
    }

    ul {
        list-style: none;
   }

    li{

        width: 100px;
        height: 100px;
        background: gray;
    }
    </style>

    <div id="goster">
    <ul>
   <li id="item"></li>
      <li id="item"></li>
      <li id="item"></li>
      <li id="item"></li>
      <li id="item"></li>
      <li id="item"></li>
      <li id="item"></li>
      <li id="item"></li>

    </ul>

  </div>

  <script>


        var name = prompt("Enter your name:", ""),
        li = 8,
        item="";
        while(++i < li){
            var item=document.getElementsByTagName("li")[i].setAttribute("class", "color");
            document.getElementById("goster").innerHTML=name[item];
        }

  </script>

只有我需要它,或者你能给我任何提示..我循环尝试但它不起作用..颜色应该是每个输入名称随机的..

最佳答案

不清楚您真正在寻找什么。

您想将 .color 类添加到提示后的每个 li 中吗?

var name = prompt("Enter your name:", "");
var items = document.getElementsByTagName("li");

for(let i = 0; i < items.length; i++) {
  
  let item = items[i];
  
  if(item.className.indexOf('color') < 0) {
    item.className += 'color';
    item.textContent = name;
    break;
  }
}
.color {
        background: green;
    }

    ul {
        list-style: none;
   }

    li {

        width: 100px;
        height: 100px;
        background: gray;
    }
<div id="goster">
  <ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>

  </ul>
</div>

关于javascript - 如何在组合中创建代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38368516/

相关文章:

javascript - 为 d3.js 强制布局实现通用更新模式

javascript - 无法使用 angularJS 将 URL 加载到 iframe

javascript - 如何删除剑道图表中的垂直滚动条?

php - 从 MySQL 数据库提取数据到下拉菜单时出错

javascript - 下一个 ("some class") 不起作用

JavaScript 在 Chrome 中卡住/崩溃

javascript - jquery中如何分割html标签?

html - 使用行为一致但已弃用的 HTML 标签的缺点?

html - 如何在 flex box 'holy grail' 布局中嵌套内容?

html - 如何响应地用 div 填充水平空间