JS querySelectorAll 函数没有 select 预期 css class
JS querySelectorAll function does not select intended css class
我尝试 select careerPoints
class 和 JavaScript,但是当我键入 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 select 或者。在这种情况下 .
select 是 class。例如,#
会 select id。
另一个问题是这个(为了方便我添加了 .
)。
var elements = document.querySelectorAll(".careerPoints").text;
querySelectorAll
returns 一个节点列表,所以你不能只是 select 文本,因为节点列表上没有文本 属性 (注意:有根本没有 text
属性)。您需要遍历节点列表,然后 select textContent
(or innerText
which behaves a little differently) from each element. Here's a small example using forEach
将文本记录到控制台。
const elements = document.querySelectorAll(".careerPoints");
elements.forEach(element => console.log(element.textContent));
我尝试 select careerPoints
class 和 JavaScript,但是当我键入 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 select 或者。在这种情况下 .
select 是 class。例如,#
会 select id。
另一个问题是这个(为了方便我添加了 .
)。
var elements = document.querySelectorAll(".careerPoints").text;
querySelectorAll
returns 一个节点列表,所以你不能只是 select 文本,因为节点列表上没有文本 属性 (注意:有根本没有 text
属性)。您需要遍历节点列表,然后 select textContent
(or innerText
which behaves a little differently) from each element. Here's a small example using forEach
将文本记录到控制台。
const elements = document.querySelectorAll(".careerPoints");
elements.forEach(element => console.log(element.textContent));