gpt4 book ai didi

javascript - HTML 和 Javascript 搜索引导卡

转载 作者:行者123 更新时间:2023-11-30 09:12:02 25 4
gpt4 key购买 nike

Javascript 返回:“Uncaught TypeError: Cannot read property 'innerText' of null” 在搜索表单上键入时。

我有一个包含一些 Bootstrap 卡片的页面,我想按名称过滤卡片。我试图获取“card-title”元素类来验证搜索过滤器。

HTML代码:

<div class="container">
<div class="row">
<div class="col-sm-4 mb-4">
<input type="text" id="myFilter" class="form-control" onkeyup="myFunction()" placeholder="Search for card name...">
</div>
</div>

<div class="row" id="myProducts">

<div class="col-md-4">
<div class="card">

<div class="card-header bg-dark d-sm-flex justify-content-sm-between align-items-sm-center">
<div class=" card-title">
<a href="#" style="color:white" class="display-inline- block" onmouseover="this.style.color='#00e6ac'" onmouseout="this.style.color='#fff'">
<strong>Card 1</strong>
</a>
</div>
</div>
<div class="card-body bg-light">
0000x01
</div>
<div class="card-footer bg-white d-flex justify-content-between">
<div>
<i class="icon-arrow-right5 mr-2"></i>Card number one
</div>
</div>
</div>
<div class="card">

<div class="card-header bg-dark d-sm-flex justify-content-sm-between align-items-sm-center">
<div class=" card-title">
<a href="#" style="color:white" class="display-inline- block" onmouseover="this.style.color='#00e6ac'" onmouseout="this.style.color='#fff'">
<strong>Card 2</strong>
</a>
</div>
</div>
<div class="card-body bg-light">
0000x02
</div>
<div class="card-footer bg-white d-flex justify-content-between">
<div>
<i class="icon-arrow-right5 mr-2"></i>Card number two
</div>
</div>
</div>
</div>
<!-- /transparent header, white footer -->
</div>
</div>

Javascript

function myFunction() {
var input, filter, cards, cardContainer, title, i;
input = document.getElementById("myFilter");
filter = input.value.toUpperCase();
cardContainer = document.getElementById("myProducts");
cards = cardContainer.getElementsByClassName("card");
for (i = 0; i < cards.length; i++) {
title = cards[i].querySelector("card-title");
if (title.innerText.toUpperCase().indexOf(filter) > -1) {
cards[i].style.display = "";
} else {
cards[i].style.display = "none";
}
}
}

同时测试: https://codepen.io/pratykus/pen/WNeJpyK

每次我在过滤框上输入时,我都会得到递增的错误:(6) Uncaught TypeError: Cannot read property 'innerText' of null

最佳答案

当您使用.querySelector 时,您应该指定类或元素。在您的情况下,您的元素是 div,您尝试访问的类是 card-title,因此请更改:

title = cards[i].querySelector("card-title");

到:

title = cards[i].querySelector(".card-title");

关于javascript - HTML 和 Javascript 搜索引导卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57890996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com