javascript - 如何选择具有包含特定文本的属性的元素?

标签 javascript

我有这个 HTML 代码:

<li class="_33c randomtext3" data-gt="{&quot;alert_id&quot;:1576605904117859,&quot;notif_type&quot;:&quot;pub_comment&quot;,&quot;from_uids&quot;}">
<li class="_33c randomtext5" data-gt="{&quot;alert_id&quot;:1576605904117859,&quot;notif_type&quot;:&quot;year_comment&quot;,&quot;from_uids&quot;}">
<li class="_33c randomtext4" data-gt="{&quot;alert_id&quot;:1576605904117859,&quot;notif_type&quot;:&quot;group_comment&quot;,&quot;from_uids&quot;}">
<li class="_33c randomtext7" data-gt="{&quot;alert_id&quot;:1576605904117859,&quot;notif_type&quot;:&quot;pub_comment&quot;,&quot;from_uids&quot;}">
<li class="_33c randomtext5" data-gt="{&quot;alert_id&quot;:1576605904117859,&quot;notif_type&quot;:&quot;pub_comment&quot;,&quot;from_uids&quot;}">

行的顺序是多种多样的,(使用 [2] 不起作用)

我想删除 <li>带有特定文本 ( data-gt="...group_comment..." ), "group_comment"是特定文本(第3行,有时在另一行)。

我试过 document.querySelectorAll('[data-gt]');NodeList(5) , 但如何在 NodeList 中找到特定文本?

谢谢。

最佳答案

使用属性值选择器和通配符选择器。

document.querySelectorAll('li[data-gt*=group_comment]')

参见 https://www.geeksforgeeks.org/wildcard-selectors-and-in-css-for-classes/

const matches = document.querySelectorAll('[data-gt*="group_comment"]')
matches.forEach( x => x.classList.add("hidden") )
.hidden {
  display: none;
}
<ul>
  <li class="_33c randomtext3" data-gt="{&quot;alert_id&quot;:1576605904117859,&quot;notif_type&quot;:&quot;pub_comment&quot;,&quot;from_uids&quot;}"> pub_comment </li>
  <li class="_33c randomtext5" data-gt="{&quot;alert_id&quot;:1576605904117859,&quot;notif_type&quot;:&quot;year_comment&quot;,&quot;from_uids&quot;}"> year_comment </li>
  <li class="_33c randomtext4" data-gt="{&quot;alert_id&quot;:1576605904117859,&quot;notif_type&quot;:&quot;group_comment&quot;,&quot;from_uids&quot;}"> group_comment </li>
  <li class="_33c randomtext7" data-gt="{&quot;alert_id&quot;:1576605904117859,&quot;notif_type&quot;:&quot;pub_comment&quot;,&quot;from_uids&quot;}">pub_comment</li>
  <li class="_33c randomtext5" data-gt="{&quot;alert_id&quot;:1576605904117859,&quot;notif_type&quot;:&quot;pub_comment&quot;,&quot;from_uids&quot;}">pub_comment</li>
</ul>

关于javascript - 如何选择具有包含特定文本的属性的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59380214/

相关文章:

javascript - 在两个 React Web 项目之间共享代码

javascript - 无法使用 FileReader 读取拖放文件

javascript - jQuery ajax 使用 javascript 提交表单发布数据

javascript - 如何在 Nuxt 中为多个环境创建构建?

javascript - 传递 javascript 对象以 jquery 方式运行?

javascript - 使用rails_admin时向ckeditor添加插件

javascript - 从客户发送电子邮件

Javascript类静态方法内存消耗

javascript - 访问 JSON 格式的数据

javascript - bootstrap.css 和 IE11 问题