JS querySelectorAll函数没有选择预期的css类



我尝试用JavaScript选择careerPoints类,但是当我键入querySelectorAll时,我得到了"未定义"。此外,当我输入querySelector时,我只能得到循环中的第一个元素。

这是我的代码:

<body>
<h1>Hi</h1>
{%for x in range(0, 16)%}
<ul>
<li scope="row"><p>Name:</p> {{dataName[x]['firstName']}} {{dataName[x]['lastName']}}</li>
<li class="points"><p>Career Points</p><p class="careerPoints">{{dataName[x]['careerPoints']}}</p> </li>
<li class="numbers"><img width="100px" src="{{dataName[x]['headShotUrl']}}" alt="{{dataName[x]['firstName']}} {{dataName[x]['lastName']}}"></li>
<li class="numbers"><p>Height</p> {{dataName[x]['height']}}</li>
</ul>
{%endfor%}
<script>
var elements = document.querySelectorAll("careerPoints").text;
console.log(elements);
</script>
</body>

应该是querySelectorAll(".careerPoints")

querySelectorAll使用CSS选择器。在这种情况下,.选择类。例如,#将选择id。

另一个问题是(为了方便,我添加了.)。

var elements = document.querySelectorAll(".careerPoints").text;

querySelectorAll返回一个节点列表,所以你不能从中选择文本,因为节点列表上没有文本属性(注意:根本没有text属性)。您需要遍历节点列表,然后从每个元素中选择textContent(或行为稍有不同的innerText)。下面是一个使用forEach将文本记录到控制台的小示例。

const elements = document.querySelectorAll(".careerPoints");
elements.forEach(element => console.log(element.textContent));

相关内容

  • 没有找到相关文章

最新更新