javascript - 如何使用 CSS 或 JS 定位类的父类

标签 javascript html css

即:我想定位 <div> a1 类的元素,但不是 a2、a3 的元素。下一个 a2 相同,但不是 a1、a3。

我正在尝试构建一个过滤工具。但棘手的部分是我不能在 <div> 上使用类元素,因为其他没有 HTML 背景的人需要在 CMS 平台上编辑它们,而我无法向此类添加类 <div>元素。

<div>
 <h1>Name</h1>
 <ul>
   <li class="a1">Test</li>
   <li class="a2">Test</li>
   <li class="a3">Test</li>
 </ul>
 <p>Some text</p>
</div>

<div>
 <h1>Name</h1>
 <ul>
   <li class="a1">Test</li>
   <li class="a2">Test</li>
   <li class="a3">Test</li>
 </ul>
 <p>Some text</p>
</div>

<div>
 <h1>Name</h1>
 <ul>
   <li class="a1">Test</li>
   <li class="a2">Test</li>
   <li class="a3">Test</li>
 </ul>
 <p>Some text</p>
</div>

<div>
 <h1>Name</h1>
 <ul>
   <li class="a1">Test</li>
   <li class="a2">Test</li>
   <li class="a3">Test</li>
 </ul>
 <p>Some text</p>
</div>

预先感谢您让我挑选您的大脑

最佳答案

有一个你可以使用的伪类选择器 :has但是,还没有浏览器实现它。实际上,它根本不打算在样式表中使用,因此您唯一的选择就是 JavaScript。

[...document.querySelectorAll('li.a1')].map(x => x.closest('div').classList.add('X'))
.X {
  border:1px solid red;
} 
<div>
 <h1>Name</h1>
 <ul>
   <li class="a1">Test</li>
   <li class="a2">Test</li>
   <li class="a3">Test</li>
 </ul>
 <p>Some text</p>
</div>

<div>
 <h1>Name</h1>
 <ul>
   <li class="a1">Test</li>
   <li class="a2">Test</li>
   <li class="a3">Test</li>
 </ul>
 <p>Some text</p>
</div>

<div>
 <h1>Name</h1>
 <ul>
   <li class="a1">Test</li>
   <li class="a2">Test</li>
   <li class="a3">Test</li>
 </ul>
 <p>Some text</p>
</div>

<div>
 <h1>Name</h1>
 <ul>
   <li class="a1">Test</li>
   <li class="a2">Test</li>
   <li class="a3">Test</li>
 </ul>
 <p>Some text</p>
</div>

关于javascript - 如何使用 CSS 或 JS 定位类的父类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58772318/

相关文章:

javascript - jQuery 显示 div 不起作用

javascript - 比较运算符中数字和字符串的强制转换

javascript - 使用ajax提交表单来上传文件和其他字段

java - 如何用C、C++、Java等语言动态生成HTML?

html - CSS 类名中广泛支持哪些字符?

javascript - 我们如何通过不在同一个父元素中使用 jQuery siblings()?

javascript - 获取span标签内的值并根据条件更改背景颜色?

javascript - 实现付费墙 : to avoid cloaking issues with paywall notice, 我应该在 HTML 中还是在 JSON-LD 中指定它?

css - 将带有图像和链接的 div 作为内容居中对齐

javascript - CSS 与 Javascript