为了账号安全,请及时绑定邮箱和手机立即绑定

document.querySelectorAll('body[direction="rtl"]

document.querySelectorAll('body[direction="rtl"]

冉冉说 2023-08-24 18:17:19
我正在尝试确定页面是否使用方向rtl还是ltr,我通过样式标签设置属性(在模板引擎中使用条件服务器端)示例https://jsfiddle.net/ud2f6hre/3/<body></body><style>body {  direction:rtl;}body[direction="rtl"] td{  color:blue;}td {color:green;}</style><table><tr>  <td>ABC</td> <td>ABCDEF</td></tr></table><input type="button" onclick="test()" value="Test"/><script>function test(){console.log(document.querySelectorAll('body[direction="rtl"] td'))}</script>为什么 document.querySelectorAll('body[direction="rtl"] td')返回一个空的 NodeList?您还可以看到第二个 css 选择器不会将颜色更改为蓝色
查看完整描述

1 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

属性选择器根据元素的属性而不是应用于它们的样式来选择元素。

<body direction="rtl">你的HTML 中没有。选择器不匹配。

类似的限制也适用于:dir()伪类:

:dir() 伪类仅使用方向性的语义值,即文档本身中定义的值。它不考虑样式方向性,即由 CSS 属性(例如方向)设置的方向性。



查看完整回答
反对 回复 2023-08-24
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信