javascript - 如何使用 JavaScript 根据其文本内容显示/隐藏 <li>?

标签 javascript css

我需要隐藏/显示 <li>基于其文本内容。在下面的示例中,我只想显示包含“内容 1”的列表项并隐藏其余的列表项。我确信有几种方法可以做到这一点。我是否需要将列表转换为数组,然后使用“包含”方法,然后使用条件语句附加样式显示无/显示 block ?

我会在一个页面上有几个无序列表,因此使用包装器 div 的 ID 来定位它们。

 <div id="myDiv">
    <ul class="myList">
        <li>content 1</li>   
        <li>content 2</li>  
        <li>content 3</li>   
        <li>content 4</li>     
     </ul>
   </div>

最佳答案

在您要求 JavaScript 解决方案的主题中,这里有一个。迭代涉及的 li 元素并根据其文本内容设置其 display 样式:

for (let li of document.querySelectorAll("#myDiv li")) {
    li.style.display = li.textContent === "content 1" ? "" : "none";
}
<div id="myDiv">
  <ul class="myList">
    <li>content 1</li>
    <li>content 2</li>
    <li>content 3</li>
    <li>content 4</li>
  </ul>
</div>

关于javascript - 如何使用 JavaScript 根据其文本内容显示/隐藏 <li>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68549266/

相关文章:

html - 带百分比的嵌套 Div 内的顶部/底部填充

javascript - 在参数中传递值时出现错误无法读取未定义的属性 'value'

javascript - 输入验证消息

javascript - 正则表达式不适用于可编辑的 Angular Directive(指令)

html - 如何使用 CSS 翻转进度条从哪一侧开始

html - IE 中的顶部导航栏损坏

javascript - dropzone.js 表单提交不发送文件

javascript - cocos2d-iphone jsb 和 cocos2d-html5 兼容性 : ctor, init, AssociateWithNative

javascript - 超出页面高度的响应式菜单

html - CSS : Scroll two div side by side independently