https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/hidden

https://codepen.io/pen/

<element hidden>

hidden是一个全局属性。boolean。

浏览器不会显示属性是hidden的元素。

注意:在XHTML, hidden属性需要这么写: <element hidden="hidden">


https://developer.mozilla.org/en-US/docs/Web/API/Document/hidden

var boolean = document.hidden

一个只读的特性,暗示一个网页是否隐藏。简单理解:当前网页窗口都不是隐藏的。


代码:要在可维护,速度块,可以改变逻辑之间找到平衡。


CSS Attr Selectors的一种用处:javascript中的定位。

data-*可以自定义attributes。

DOM使用document.querySelector()可以查询有这个selector的元素。

因此CSS属性选择器,搭配data-*和DOM的查找方法就可以定位一个元素。

例子:

chatroom_id = document.querySelector("div[data-chatroom-id]").getAttribute("data-chatroom-id")

a[attribute] { ... }

也可以通过具体的属性值,查找到具体某元素:

a[attribute='值'] { ... }

还有模糊查找~=,开头关键字^=,结尾关键字$=,任意关键字*=等查询方式


DOM 的 className方法

document.getElementById("myDIV").className = "mystyle"

注意:⚠️ "类名"不加点"."


::before和::after选择器,伪类/元素:

在选中的元素的文本前插入一些东东。

使用content: "..." 来指定插入的内容

例子:

.strike > span:before,  .strike > span:after {

  content: "";
  position: absolute;
  top: 50%;
  width: 9999px;
  height: 1px;
}

在有strike类的元素内的span元素的内容前后插入一条线,高是1px;

全部代码:插入一条红线,中间写文字:

.strike {
display: block;
text-align: center;
overflow: hidden;
white-space: nowrap;
}

.strike > span {
position: relative;
display: inline-block;
}

.strike > span:before,
.strike > span:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 9999px;
  height: 1px;
  background: red;
}

.strike > span:before {
  right: 100%;
  margin-right: 15px;
}

.strike > span:after {
  left: 100%;
  margin-left: 15px;
}


使用反斜杠,\' ,这样代表'本身也是一个字符。

例子:

document.querySelector("div[data-chatroom-id=\'#{data.chatroom_id}\']")

解释:

data.chatroom_id是一个变量,因此用ruby语法#{},

HTML DOM的类选择器,需要使用querySelector("任意类")的格式。

而,属性选择器的格式是: div[attr="value"]的格式,

一起使用就造成了3层""嵌套,所以必须使用\反斜杠,后面跟'引号:证明这是一个必须输出的字符符号。


HTMLElement.hidden; CSS Attr Selectors的用处; DOM的className方法; ::before和::after伪元素的更多相关文章

  1. 使用原生js来控制、修改CSS伪元素的方法总汇, 例如:before和:after

    在网页中,如果需要使用辅助性/装饰性的内容的时候,我们不应该直接写在HTML中,这样会影响真正的内容,这就需要使用伪元素了,这是由于css的纯粹语义化是没有意义的.在使用伪元素的时候,会发现js并不真 ...

  2. 深入理解脚本化CSS系列第六篇——脚本化伪元素的6种方法

    × 目录 [1]动态样式 [2]CSS类[3]setAttribute()[4]CSSRule对象添加[5]空样式覆盖[6]CSSRule对象删除 前面的话 我们可以通过计算样式来读取伪元素的样式信息 ...

  3. css中伪元素before或after中content的特殊用法attr

    html代码如下: <div class="haorooms"> <span data-haorooms="haorooms鼠标效果tips-纯css& ...

  4. CSS Pseudo-Element Selectors伪对象选择符

    一: CSS3将伪对象选择符(Pseudo-Element Selectors)前面的单个冒号(:)修改为双冒号(::)用以区别伪类选择符(Pseudo-Classes Selectors),但以前的 ...

  5. Css攻克Selectors 一

    Selectors (选择器) ---------------参考MDN中css学习. 首先css选择器有很多,但总体概括起来的话有两种: 标签选择器(*是特殊情况),可但标签,也可上下文多标签: 属 ...

  6. css中伪元素before或after中content的特殊用法attr【转】

    [原文]https://segmentfault.com/a/1190000002750033 CSS中主要的伪元素有四个:before/after/first-letter/first-line,在 ...

  7. JS之BOM和DOM(来源、方法、内容、应用)

    1.Javascript组成(此文为转载) JavaScript的实现包括以下3个部分: 1)核心(ECMAScript):描述了JS的语法和基本对象. 2)文档对象模型 (DOM):处理网页内容的方 ...

  8. 你所不知的 CSS ::before 和 ::after 伪元素用法

    CSS 有两个说不上常用的伪类 :before 和 :after,偶尔会被人用来添加些自定义格式什么的,但是它们的功用不仅于此.前几天发现了 Creative Link Effects 这个非常有意思 ...

  9. CSS ::before 和 ::after 伪元素另类用法

    原文地址:http://justcoding.iteye.com/blog/2032627 CSS 有两个说不上常用的伪类 :before 和 :after,偶尔会被人用来添加些自定义格式什么的,但是 ...

随机推荐

  1. pta 习题集 5-17九宫格输入法

    假设有九宫格输入法键盘布局如下: [ 1,.?! ] [ 2ABC ] [ 3DEF ] [ 4GHI ] [ 5JKL ] [ 6MNO ] [ 7PQRS ] [ 8TUV ] [ 9WXYZ ] ...

  2. 为什么不要使用"using namespace XXX"

    为什么不要使用"using namespace XXX" 1.避免降低性能 2.避免Entity冲突 This is not related to performance at a ...

  3. 数字签名中公钥和私钥是什么?对称加密与非对称加密,以及RSA的原理

    http://baijiahao.baidu.com/s?id=1581684919791448393&wfr=spider&for=pc https://blog.csdn.net/ ...

  4. Django - 项目总结

    总结: 基础,进阶,项目 Django - 练习(图书管理系统) 前后端分离得项目: vue + rest framework 项目: 图书增删改查页面 BBS + BLOG系统 CRM系统   在线 ...

  5. 第1章 1.8计算机网络概述--OSI参考模型和网络排错

    OSI参考模型的网络排错: 每一层都为上一层提供服务. 如果网络出故障了,应该从底层向高层一层一层的查. OSI参考模型排错指导:(排错原则:自下而上.终极大招ping命令) 1.物理层故障: ①查看 ...

  6. UVA大模拟代码(白书训练计划1)UVA 401,10010,10361,537,409,10878,10815,644,10115,424,10106,465,10494

    白书一:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=64609#overview 注意UVA没有PE之类的,如果PE了显示WA. UVA ...

  7. R语言编程

    R中的帮助文档非常有用,其中有四种类型的帮助 help(functionname) 对已经加载包所含的函数显示其帮助文档,用?号也是一样的. help.search('keyword') 对已经安装的 ...

  8. Deep Learning(4)

    四.拓展学习推荐 Deep Learning 经典阅读材料: The monograph or review paper Learning Deep Architectures for AI (Fou ...

  9. [华为]输出单向链表中倒数第k个结点

    输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针. 链表结点定义如下: struct ListNode { int       m_nKey; ListNode* m_ ...

  10. 4.2 Routing -- Defining Your Routes

    一.概述 1. 当应用程序启动时,路由器负责显示模板,加载数据,另外还设置应用程序的状态.这是通过匹配当前URL到你定义的routes来实现的. 2. Ember app router中的Map方法可 ...