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. Redis讲解

    buffer  缓冲  用于写 cache  缓存  用于读 redis 支持持久化 安装redis yum -y install redis 配置文件/etc/redis.conf 是否在后台运行 ...

  2. 十六.MySQL存储过程

    1.创建一个没有参数的存储过程 CREATE PROCEDURE sp1() SELECT VERSION(); 调用存储过程:CALL sp1(); 2.带有IN参数的存储过程 CREATE PRO ...

  3. JavaWeb404排错的小技巧

    报这种错误,404后面什么都没有的话,就证明处理器映射器根据url找不到handler. 报这种错误,证明处理器映射器根据url找到了handler,转发的jsp页面找不到,说明jsp页面错了.

  4. mysql 约束条件 auto_increment 自动增长起始值 布长 起始偏移量

    我们指定一个字段为自动增长,他默认从1开始自动增长,默认值为1,每次增长为1,步长为1 模糊查询 like % 代表任意个数字符 任意字符长度 查看mysql正在使用变量 show variables ...

  5. EasyUI Easyloader 加载器

    用法 加载 EasyUI 模块 easyloader.base = '../'; // 设置 easyui 的基本目录 easyloader.load('messager', function(){ ...

  6. PAT 1057 Stack [难][树状数组]

    1057 Stack (30)(30 分) Stack is one of the most fundamental data structures, which is based on the pr ...

  7. <option> 标签的 value 属性

    <html> <body> <form action="/example/html/form_action.asp" method="get ...

  8. 002-字段不为null

    1.尽量不要在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,强烈建议where涉及的列,不要留空,创建表时赋予初始值. 比如 select id from ...

  9. 22. Generate Parentheses(回溯)

    Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...

  10. AI学习资料

    OpenAI Gym介绍 http://m.blog.csdn.net/u010510350/article/details/71450232