DOM类名称不适用于按钮 [英] DOM class name is not working for buttons

查看:50
本文介绍了DOM类名称不适用于按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个按钮并添加了tick glyphicon。因此,当我单击按钮时,刻度线应该是可见的。



我试图使用JavaScript的Class Name的DOM元素将其应用于表中的按钮。 / p>

但它不起作用



如果我单击按钮,则在所有按钮
上都显示刻度线但是单击特定按钮时我想要它
就像单选按钮



任何人都可以帮助我



  function show(target){// document.getElementById(target).style.visibility ='visible '; var x = document.getElementsByClassName(’fa-lg’); for(var i = 0; i< x.length; i ++){//.log(x[i]); x [i] .style.visibility =可见; }}  

  .fa-check-circle {右:30px ;位置:绝对;} tr,td {颜色:deepskyblue; font-size:12px; border-bottom:2px点缀deepskyblue;}。btn.btn-xs {border-radius:0px;字体大小:15PX;背景色:whitesmoke;}  

 <!doctype html> ;< html lang = zh-CN>< head> <!-必需的元标记-> < meta charset = utf-8> < meta name = viewport content = width = device-width,initial-scale = 1,rinkle-to-fit = no> < ;!-Bootstrap CSS-> < link rel = stylesheet href = https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css完整性= sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJgtous = 4 <!-字体很棒-> < script defer src = https://use.fontawesome.com/releases/v5.0.10/js/all.js完整性= sha384-slN8GvtUJGnv6ca26v8EzVaR9DC58QEwsIk9q1QXdCU8Yu8ck / tL / 5szYlBbqgtS&;脚本> < title>你好,世界!< / title> < link rel = stylesheet href = ./ main.css> < link rel = stylesheet href = ./ test.css>< / head>< body> <!-脚本-> <!-jQuery库-> < script src = https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js>< / script> <!-最新编译的JavaScript-> < script src = https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js< / script> < script src = ./ test.js>< / script> <!-<输入maxlength = 3 size = 3 value = 10 id = message> < textarea type = text id = name maxlength = 100 placeholder =命名您的想法 onkeyup = textCounter(this,’message’,100);>< / textarea> -> <!-< button type = button class = btn btn-xs onclick = show(’loadingImage’)>中值< / button> < span class = fa-stack fa-lg id = loadingImage style = visibility:hidden> < i class = fas fa-check-circle< / i> < / span> -> < div class = row> < div> < h2 class = status>评估您的创意的价值将提供< / h2> < / div> < div class = row table-sensitive> < table class = table table-sensitive id = table> < tbody id = tbody> < tr> < td>客户体验< / td> < td> < button type = button class = btn btn-xs onclick = show(’loadingImage’)>低价值< / button> < span class = fa-stack fa-lg id = loadingImage style = visibility:hidden> < i class = fas fa-check-circle< / i> < / span> < / td> < td> < button type = button class = btn btn-xs onclick = show(’loadingImage’)>中值< / button> < span class = fa-stack fa-lg id = loadingImage style = visibility:hidden> < i class = fas fa-check-circle< / i> < / span> < / td> < td> < button type = button class = btn btn-xs>高价值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < / tr> < tr> < td>协作< / td> < td> < button type = button class = btn btn-xs>低价值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < td> < button type = button class = btn btn-xs>中值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < td> < button type = button class = btn btn-xs>高价值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < / tr> < tr> < td>钱< / td> < td> < button type = button class = btn btn-xs onclick = showIcon();>低价值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < td> < button type = button class = btn btn-xs>中值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < td> < button type = button class = btn btn-xs>高价值< / button> < / td> < / tr> < tr> < td>时间< / td> < td> < button type = button class = btn btn-xs>低价值< / button> < / td> < td> < button type = button class = btn btn-xs>中值< / button> < / td> < td> < button type = button class = btn btn-xs>高价值< / button> < / td> < / tr> < tr> < td>质量< / td> < td> < button type = button class = btn btn-xs>低价值< / button> < / td> < td> < button type = button class = btn btn-xs>中值< / button> < / td> < td> < button type = button class = btn btn-xs>高价值< / button> < / td> < / tr> < / tbody> < / table> < / div> < / div>< / body>< / html>  

解决方案

您也可以通过以下方式之一



 函数findAncestor(el,cls){while((el = el.parentElement)&&!el.classList.contains(cls));返回el }函数show(target){var row = findAncestor(target,'test'); var tick = row.getElementsByClassName( fa-lg); Array.prototype.forEach.call(tick,function(el){el.style.visibility ='hidden'}); target.nextElementSibling.style.visibility ='visible'}  

  .fa-check-circle {右:30px;位置:绝对;} tr,td {颜色:deepskyblue; font-size:12px; border-bottom:2px点缀deepskyblue;}。btn.btn-xs {border-radius:0px;字体大小:15PX; background-color:whitesmoke;}  

 < script src =  https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js\"></script><!doctype html>< html lang = zh-CN> < head> <!-必需的元标记-> < meta charset = utf-8> < meta name = viewport content = width = device-width,initial-scale = 1,rinkle-to-fit = no> < ;!-Bootstrap CSS-> < link rel = stylesheet href = https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css完整性= sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJgtous = 4 <!-字体很棒-> < script defer src = https://use.fontawesome.com/releases/v5.0.10/js/all.js完整性= sha384-slN8GvtUJGnv6ca26v8EzVaR9DC58QEwsIk9q1QXddCU8Yu8ck / tL / 5szYlBbqgtS&;脚本> < title>你好,世界!< / title> < link rel = stylesheet href = ./ main.css> < link rel = stylesheet href = ./ test.css>< / head>< body> < div class = container> < button type = button class = btn btn-xs id = btn2 onclick = show(this)>中值< / button> < span class = fa-stack fa-lg id = loadingImage style = visibility:hidden> < i class = fas fa-check-circle< / i> < / span> < div class = row> < div class = cols col-sm-12>< / div> < div> < h2 class = status>对您的创意的价值进行评级/// h2> < / div> < div class = row table-sensitive> < table class = table table-sensitive id = table> < tbody id = tbody> < tr class = test> < td>客户体验< / td> < td> < button type = button class = btn btn-xs id = btn2 onclick = show(this)>低价值< / button> < span class = fa-stack fa-lg id = loadingImage style = visibility:hidden> < i class = fas fa-check-circle< / i> < / span> < / td> < td> < button type = button class = btn btn-xs id = btn2 onclick = show(this)>中值< / button> < span class = fa-stack fa-lg id = loadingImage style = visibility:hidden> < i class = fas fa-check-circle< / i> < / span> < / td> < td> < button type = button class = btn btn-xs id = btn2>高价值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < / tr> < tr class = test> < td>协作< / td> < td> < button type = button class = btn btn-xs id = btn2>低价值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < td> < button type = button class = btn btn-xs id = btn2>中值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < td> < button type = button class = btn btn-xs id = btn2>高价值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < / tr> < tr class = test> < td>钱< / td> < td> < button type = button class = btn btn-xs id = btn2 onclick = showIcon();>低价值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < td> < button type = button class = btn btn-xs id = btn2>中值< / button> < span class = fa-stack fa-lg> < i id = loadingImage class = fas fa-check-circle>< / i> < / span> < / td> < td> < button type = button class = btn btn-xs id = btn2>高价值< / button> < / td> < / tr> < tr class = test> < td>时间< / td> < td> < button type = button class = btn btn-xs id = btn2>低价值< / button> < / td> < td> < button type = button class = btn btn-xs id = btn2>中值< / button> < / td> < td> < button type = button class = btn btn-xs id = btn2>高价值< / button> < / td> < / tr> < tr class = test> < td>质量< / td> < td> < button type = button class = btn btn-xs id = btn2>低价值< / button> < / td> < td> < button type = button class = btn btn-xs id = btn2>中值< / button> < / td> < td> < button type = button class = btn btn-xs id = btn2>高价值< / button> < / td> < / tr> < / tbody> < / table> < / div> < / div> < / div> < script src = ./ test.js>< / script> < / div> < / body>< / html>  


I have created a button and added tick glyphicon . so that when i clicked on the button the tick mark should be visible.

I tried to apply to the buttons in my table using DOM element of Class Name using JavaScript.

but it is not working

if i click button the tick mark is appearing on all buttons but i want it when the specific button is clicked just like radio button

can Anyone Help me

function show(target) {
  // document.getElementById(target).style.visibility = 'visible';
  var x = document.getElementsByClassName('fa-lg');
  for (var i = 0; i < x.length; i++) {
    //.log(x[i]);
    x[i].style.visibility = 'visible';
  }
}

.fa-check-circle {
  right: 30px;
  position: absolute;
}

tr,
td {
  color: deepskyblue;
  font-size: 12px;
  border-bottom: 2px dotted deepskyblue;
}

.btn.btn-xs {
  border-radius: 0px;
  font-size: 15PX;
  background-color: whitesmoke;
}

<!doctype html>
<html lang="en">

<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
  <!--font awesome-->
  <script defer src="https://use.fontawesome.com/releases/v5.0.10/js/all.js" integrity="sha384-slN8GvtUJGnv6ca26v8EzVaR9DC58QEwsIk9q1QXdCU8Yu8ck/tL/5szYlBbqmS+" crossorigin="anonymous"></script>

  <title>Hello, world!</title>

  <link rel="stylesheet" href="./main.css">
  <link rel="stylesheet" href="./test.css">
</head>

<body>
  <!--scripts-->
  <!-- jQuery library -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <!-- Latest compiled JavaScript -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script src="./test.js"></script>

  <!-- <input maxlength="3" size="3" value="10" id="message">
    <textarea type="text" id="name" maxlength="100" placeholder="Name your Idea" onkeyup="textCounter(this,'message',100);"></textarea> -->


  <!-- <button type="button" class="btn btn-xs "  onclick="show('loadingImage')">Medium Value</button>
    <span class="fa-stack fa-lg" id="loadingImage" style="visibility: hidden">
        <i class="fas fa-check-circle"></i>
    </span> -->



  <div class="row">
    <div>
      <h2 class="status">Rate the value of Your Idea will Provide</h2>
    </div>
    <div class="row table-responsive">
      <table class="table table-responsive" id="table">
        <tbody id="tbody">
          <tr>
            <td>
              Client Experience
            </td>
            <td>
              <button type="button" class="btn btn-xs" onclick="show('loadingImage')">Low Value</button>
              <span class="fa-stack fa-lg" id="loadingImage" style="visibility: hidden">
                                <i class="fas fa-check-circle"></i>
                            </span>
            </td>
            <td>
              <button type="button" class="btn btn-xs " onclick="show('loadingImage')">Medium Value</button>
              <span class="fa-stack fa-lg" id="loadingImage" style="visibility: hidden">
                                <i class="fas fa-check-circle"></i>
                            </span>
            </td>
            <td>
              <button type="button" class="btn btn-xs">High Value</button>
              <span class="fa-stack fa-lg">
                                <i id="loadingImage" class="fas fa-check-circle"></i>
                            </span>
            </td>
          </tr>
          <tr>
            <td>
              Collaboration
            </td>
            <td>
              <button type="button" class="btn btn-xs">Low Value</button>
              <span class="fa-stack fa-lg">
                                <i id="loadingImage" class="fas fa-check-circle"></i>
                            </span>
            </td>
            <td>
              <button type="button" class="btn btn-xs">Medium Value</button>
              <span class="fa-stack fa-lg">
                                <i id="loadingImage" class="fas fa-check-circle"></i>
                            </span>
            </td>
            <td>
              <button type="button" class="btn btn-xs">High Value</button>
              <span class="fa-stack fa-lg">
                                <i id="loadingImage" class="fas fa-check-circle"></i>
                            </span>
            </td>
          </tr>
          <tr>
            <td>
              Money
            </td>
            <td>
              <button type="button" class="btn btn-xs" onclick="showIcon();">Low Value</button>
              <span class="fa-stack fa-lg">
                                <i id="loadingImage" class="fas fa-check-circle"></i>
                            </span>
            </td>
            <td>
              <button type="button" class="btn btn-xs">Medium Value</button>
              <span class="fa-stack fa-lg">
                                <i id="loadingImage" class="fas fa-check-circle"></i>
                            </span>
            </td>
            <td>
              <button type="button" class="btn btn-xs">High Value</button>
            </td>
          </tr>
          <tr>
            <td>
              Time
            </td>
            <td>
              <button type="button" class="btn btn-xs">Low Value</button>
            </td>
            <td>
              <button type="button" class="btn btn-xs">Medium Value</button>
            </td>
            <td>
              <button type="button" class="btn btn-xs">High Value</button>
            </td>
          </tr>
          <tr>
            <td>
              Quality
            </td>
            <td>
              <button type="button" class="btn btn-xs">Low Value</button>
            </td>
            <td>
              <button type="button" class="btn btn-xs">Medium Value</button>
            </td>
            <td>
              <button type="button" class="btn btn-xs">High Value</button>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
</body>

</html>

解决方案

You can also do this one of the following way

function findAncestor (el, cls) {
                while ((el = el.parentElement) && !el.classList.contains(cls));
                return el;
            }

            function show(target) {
                var row = findAncestor(target, 'test');
                var tick = row.getElementsByClassName("fa-lg");

                Array.prototype.forEach.call(tick, function(el) {
                    el.style.visibility = 'hidden'
                });
                target.nextElementSibling.style.visibility = 'visible'
            }

.fa-check-circle {
  right: 30px;
  position: absolute;
}

tr,
td {
  color: deepskyblue;
  font-size: 12px;
  border-bottom: 2px dotted deepskyblue;
}

.btn.btn-xs {
  border-radius: 0px;
  font-size: 15PX;
  background-color: whitesmoke;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!doctype html>
<html lang="en">

<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
  <!--font awesome-->
  <script defer src="https://use.fontawesome.com/releases/v5.0.10/js/all.js" integrity="sha384-slN8GvtUJGnv6ca26v8EzVaR9DC58QEwsIk9q1QXdCU8Yu8ck/tL/5szYlBbqmS+" crossorigin="anonymous"></script>

  <title>Hello, world!</title>

  <link rel="stylesheet" href="./main.css">
  <link rel="stylesheet" href="./test.css">
</head>

<body>
        <div class="container">
            <button type="button" class="btn btn-xs " id="btn2" onclick="show(this)">Medium Value</button>
            <span class="fa-stack fa-lg" id="loadingImage" style="visibility: hidden">
                <i class="fas fa-check-circle"></i>
            </span>
            <div class="row">
                <div class="cols col-sm-12"></div>
                    <div>
                        <h2 class="status">Rate the value of Your Idea will Provide</h2>
                    </div>
                    <div class="row table-responsive">
                        <table class="table table-responsive" id="table">
                            <tbody id="tbody">
                                <tr class="test">
                                    <td>
                                        Client Experience
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2" onclick="show(this)">Low Value</button>
                                        <span class="fa-stack fa-lg" id="loadingImage" style="visibility: hidden">
                                            <i class="fas fa-check-circle"></i>
                                        </span>
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs " id="btn2" onclick="show(this)">Medium Value</button>
                                        <span class="fa-stack fa-lg" id="loadingImage" style="visibility: hidden">
                                            <i class="fas fa-check-circle"></i>
                                        </span>
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">High Value</button>
                                        <span class="fa-stack fa-lg">
                                            <i id="loadingImage" class="fas fa-check-circle"></i>
                                        </span>
                                    </td>
                                </tr>
                                <tr class="test">
                                    <td>
                                        Collaboration
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">Low Value</button>
                                        <span class="fa-stack fa-lg">
                                            <i id="loadingImage" class="fas fa-check-circle"></i>
                                        </span>
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">Medium Value</button>
                                        <span class="fa-stack fa-lg">
                                            <i id="loadingImage" class="fas fa-check-circle"></i>
                                        </span>
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">High Value</button>
                                        <span class="fa-stack fa-lg">
                                            <i id="loadingImage" class="fas fa-check-circle"></i>
                                        </span>
                                    </td>
                                </tr>
                                <tr class="test">
                                    <td>
                                        Money
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2" onclick="showIcon();">Low Value</button>
                                        <span class="fa-stack fa-lg">
                                            <i id="loadingImage" class="fas fa-check-circle"></i>
                                        </span>
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">Medium Value</button>
                                        <span class="fa-stack fa-lg">
                                            <i id="loadingImage" class="fas fa-check-circle"></i>
                                        </span>
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">High Value</button>
                                    </td>
                                </tr>
                                <tr class="test">
                                    <td>
                                        Time
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">Low Value</button>
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">Medium Value</button>
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">High Value</button>
                                    </td>
                                </tr>
                                <tr class="test">
                                    <td>
                                        Quality
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">Low Value</button>
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">Medium Value</button>
                                    </td>
                                    <td>
                                        <button type="button" class="btn btn-xs" id="btn2">High Value</button>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
            <script src="./test.js"></script>
        </div>
    </body>

</html>

这篇关于DOM类名称不适用于按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆