编程语言
首页 > 编程语言> > javascript-获取子元素的价值

javascript-获取子元素的价值

作者:互联网

我正在编写可应用于网页的代码.我想获取“ A”的值作为变量.我努力了:

document.getElementById("inProgressGrade");

document.getElementsByClassName("b");

这是我从中提取的代码,以使其更复杂,我想要获得的所有值都具有彼此相同的类.

<td style="width:60px; border: 1px solid #ABABAB; padding: 2px;" class="inProgressGrade">
90.62% 
<b>A</b>
</td>

同一网页上的另一个:

<td style="width:60px; border: 1px solid #ABABAB; padding: 2px;" class="inProgressGrade">
87.10% 
<b>B</b>
</td>
console.log(document.getElementsByClassName("b"));
<td style="width:60px; border: 1px solid #ABABAB;              padding: 2px;" class="inProgressGrade">87.10% <b>B</b></td>
console.log(document.getElementsByClassName("inProgressGrade"));
<td style="width:60px; border: 1px solid #ABABAB;              padding: 2px;" class="inProgressGrade">87.10% <b>B</b></td>

解决方法:

您可以将.querySelector()与textContent一起使用,如下所示:

document.querySelector('.inProgressGrade b').textContent
console.log(document.querySelector('.inProgressGrade>b').textContent);
<table>
  <tr>
    <td style="width:60px; border: 1px solid #ABABAB; padding: 2px;" class="inProgressGrade">
      90.62%
      <b>A</b>
    </td>
  </tr>
</table>

如果您想同时使用这两个字母,则可以将.querySelectorAll()与循环一起使用,例如:

var letters = document.querySelectorAll('.inProgressGrade b');

for( var i = 0; i < letters.length; i++) {
    console.log( letters[i].textContent );
}

码:

var letters = document.querySelectorAll('.inProgressGrade b');

for (var i = 0; i < letters.length; i++) {
  console.log(letters[i].textContent);
}
<table>
  <tr>
    <td style="width:60px; border: 1px solid #ABABAB; padding: 2px;" class="inProgressGrade">
      90.62%
      <b>A</b>
    </td>
    <td style="width:60px; border: 1px solid #ABABAB; padding: 2px;" class="inProgressGrade">
      87.10%
      <b>B</b>
    </td>
  </tr>
</table>

标签:console-log,getelementsbyclassname,getelementsbytagname,html,javascript
来源: https://codeday.me/bug/20191110/2014270.html