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. 查看、关闭登录到linux的终端

    基本概念: tty(终端设备的统称):tty一词源于Teletypes,原来指的是电传打字机,是通过串行线用打印机键盘阅读和发送信息的东西,后来这东西被键盘和显示器取代,所以现在叫终端比较合适.终端是 ...

  2. Git Bash关键命令

    1.默认目录是C:\Users\用户名 2.切换目录:$cd c:\\windows 3.切换到上级目录:cd ..,中间有空格 4.列出某目录所有文件,相当于DOS下的dir:ls c:\\wind ...

  3. 向Docx4j生成的word文档添加图片和布局--第一部分

    原文标题:Adding images and layout to your Docx4j-generated word documents, part 1 原文链接:http://blog.iprof ...

  4. CentOS下LVM逻辑卷管理技术解释

    1.LVM逻辑卷管理技术产生的背景 企业日益变化的存储需要使得传统的磁盘分区存储显得不够灵活 2.磁盘分区存储 对于这样的三个物理分区的话,迟早有一天会被数据填满,因为它是死的,无法进行缩放. 假设下 ...

  5. beans有无状态

    Spring Bean Scopes https://www.tutorialspoint.com/spring/spring_bean_scopes.htm When defining a < ...

  6. 由SOAP说开去 - - 谈谈WebServices、RMI、RPC、SOA、REST、XML、JSON

    引子: 关于SOAP其实我一直模模糊糊不太理解,这种模模糊糊的感觉表述起来是这样: 在使用web服务时(功能接口),本来我就可以通过安卓中固有的http类(使用http协议),来发送http请求,并且 ...

  7. [py]多态的理解

    多态 不同的数据类型,执行相同的方法,产生的状态不同 不同对象调用相同的方法(运行时候的绑定状态) #!/usr/bin/env python # coding=utf-8 class H2O: de ...

  8. Centos7 Zabbix3.2安装

    实验环境: 阿里云 [zabbix@miyan ~]$ cat /etc/redhat-release CentOS Linux release (Core) 不得不说,官方文档确实强大 1.官方文档 ...

  9. Qt工程文件说明

    Qt工程文件说明 2017-10-16  天天快乐6...  转自 LZS2851 修改   微信 分享: 这篇文章是我从360doc上转的,本来是要把转的url列出来的,但是它们居然禁掉了复制,而且 ...

  10. 2017 Benelux Algorithm Programming Contest (BAPC 17) Solution

    A - Amsterdam Distance 题意:极坐标系,给出两个点,求最短距离 思路:只有两种方式,取min  第一种,先走到0点,再走到终点 第二种,走到同一半径,再走过去 #include ...