
主要你要理解v-if和v-show的区别,如果只在一个dom上 *** 作,还是用v-show,他的原理的设置这个dom的display,对网页性能消耗小,如果在两个dom之间切换,用v-if,他是根据条件来判断是否加载dom。
DOM(即 Document Object Mode) 是 W3C(万维网联盟)的标准。
DOM 定义了访问 HTML 和 XML 文档的标准:“W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。”
W3C DOM 标准被分为 3 个不同的部分:
核心 DOM - 针对任何结构化文档的标准模型
XML DOM - 针对 XML 文档的标准模型
HTML DOM - 针对 HTML 文档的标准模型
其中,在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML。根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:
整个文档是一个文档节点
每个 HTML 元素是元素节点
HTML 元素内的文本是文本节点
每个 HTML 属性是属性节点
注释是注释节点
HTML DOM 将 HTML 文档视作树结构。这种结构被称为节点树。通过 HTML DOM,树中的所有节点均可通过 JavaScript 进行访问。所有 HTML 元素(节点)均可被修改,也可以创建或删除节点。
DOM 处理中的常见错误是希望元素节点包含文本。举个栗子:<title>DOM 教程</title>,元素节点 <title>,包含值为 "DOM 教程" 的文本节点。
可通过节点的 innerHTML 属性来访问文本节点的值。
一些常用的 HTML DOM 方法:
getElementById(id) - 获取带有指定 id 的节点(元素)
appendChild(node) - 插入新的子节点(元素)
removeChild(node) - 删除子节点(元素)
一些常用的 HTML DOM 属性:
innerHTML - 节点(元素)的文本值
parentNode - 节点(元素)的父节点
childNodes - 节点(元素)的子节点
attributes - 节点(元素)的属性节点
DOM *** 作示例
<html><body>
<p id="p1">Hello World!</p>
<script>
documentgetElementById("p1")innerHTML="New text!";
//内容变更为new text
documentgetElementById("p1")stylecolor="blue";
//蓝色
</script>
</body>
</html>
1 documentcreateElement(tagname)
2 documentcreateTextNode(data)
3documentcreateDocumentFragment()
1 NodeparentNode
2 NodeparentElement
3 NodechildNodes
4 Nodechildren
5 NodenextSibling
6NodenextElementSibling
7 NodepreviousSibling
8NodepreviousElementSibling
9NodefirstChild
10 NodefirstElementChild
11 NodelastChild
12 NodelastElementChild
1 NodeappendChild()
2 NoderemoveChild()
3 NodeinsertBefore()
4 NodereplaceChild()
1 elementsetAttribute(name /属性名/, value /属性值/)
2 elementremoveAttribute(attrName /要删除的属性名/)
3 elementgetAttribute(attrName)
4 elementhasAttribute(attrName)
1documentgetElementById("id名")
通过id属性的值查找,返回满足条件的第一个元素
2documentgetElementsByTagName("标签名")
通过标签名来获取页面中的元素。返回的是多个标签。
并不是真正的数组,但是我们可以想 *** 作数组一样 *** 作他(类数组)
3documentgetElementsByClassName("class名")
通过类名来获取页面中的元素。返回的也是多个标签
4documentgetElementsByName("表单元素name")
通过表单的name属性的值来获取元素
5documentquerySelector("div p a")
匹配指定 CSS 选择器的 第一个元素 。 如果没有找到,返回 null。
6documentquerySelectorAll("div")
获取所有满足条件的元素
7三个特殊节点
8childNodes 所有节点。包括各种节点
9fristChild 获取一个元素的第一个子节点
10lastChild 获取一个元素的最后一个子节点
11parentNode 获取一个元素的父节点
12previousSibling 获取一个元素的上一个兄弟节点
13nextSibling 获取一个元素的下一个节点
14children 只获取子元素
15firstElementChild 获取第一个元素子节点
16lastElementChild 获取最后一个元素子节点
17nextElementsibling 获取下一个元素兄弟节点
18previousElementsibling 获取上一个元素兄弟节点
19parentElement 获取父元素节点
20childElementCount 获取子元素的个数
1documentcreateElement(元素名) 创建一个元素节点
2documentcreateTextNode("这是新创建的一段文本") 创建一个文本节点
3appendChild() 添加元素到容器中
4insertBefore() 在一个节点前插入新节点
5removeChild() 删除子节点
6replaceChild() 替换子节点
7cloneNode() 克隆节点 传入true则复制所有节点
8setAttribute() 给元素设置属性
参数1:属性的名
参数2:属性的值
如果属性不存在,则添加;存在,则修改
9romveAttribute() 删除属性
参数:要删除的属性名
10getAttribute() 获取属性的值
参数:属性名
11访问 元素 id 名
boxid
12访问 元素 class 名
boxclassName
boxclassList 类数组
13获取标签名
boxtagName
boxnodeName
14innerHTML属性
innerHTML 属性设置或返回标签的开始和结束标签之间的 HTML。
值为为文本
15innerText属性
16outerHTML
跟innerHTML相比多包括了一个它自身
1访问行内(内联)样式表
2内部样式表和外部样式表的获取
getComputedStyle()
参数1:表示样式表所属的元素
参数2:如果获取的是伪元素的样式,传入伪元素,正常元素传入null 或不传
兼容性问题
3获取元素实际的宽高
offsetWidth 宽
offsetHeight 高
4获取元素参考父容器的left 和 top
offsetLeft 距离左部
offsetTop 距离上部
offsetParent 查找这个元素的参照父容器
方法一:
使用DOMsetAttribute("class","类名")
方法二:
DOMclassListadd("类名")
方法一给DOM元素添加类名会覆盖原有的类名
方法二 可以给DOM元素添加一个类名后 还可以在继续给DOM元素添加新的类名 并且不会覆盖已有的类名
概念:把要添加的节点添加到指定父级里面的最后面,所以也叫追加。
使用方式:fatherdomappendChild( insertdom )。
兼容性:所有浏览器都支持此方法。
概念:把要插入的节点添加到指定父级里面的指定节点之前。
使用方式:fatherdominsertBefore( insertdom,chosendom )。
兼容性:所有浏览器都支持此方法,但是值得注意的是,如果第二个参数节点不存在,在IE和Safari下会把要添加的节点使用appendChild()方法追加到指定父级中,而其他主流浏览器(Firefox、Chrome、Opera等)下会报错,所以在插入节点的时候,需要先判断第二个参数节点是否存在
效果
注意:很多人都认为设置disabled="true"是为启用,设置为“false”时为禁用,这是错的。
比如<div ng-show="isShow" class="div">this is a div which is show</div>
你设置isShow为true则显示,设置为false则隐藏
你把jq的代码用到angularjs有用才是特殊呢
用原生js
onmouseover(){
$scopeisShow=true
}
或者写
onmouseover(){
thisnextSiblingstylevisibility='visible'
}
反之写hidden
用了angluarjs就别总想着jq
DOM 的全称是" Document Object Model ",中文意思为“文档对象模型”。
就像 JS 中所有的对象都继承自 Object 一样,浏览器提供一个原生的节点对象 Node (Node 是一个函数), DOM 的所有节点都继承自 Node ,Node 又继承自 Object,因此它们具有一些共同的属性和方法。
一个文档的所有节点,按照所在的层级,可以抽象成一种树状结构。这种树状结构就是 DOM 树。
顶层的 根节点 html 属于 Document 节点,代表整个文档;
第二层级和第三层级的属于 Element 节点,即网页的各种 HTML 标签;
第四层级的属于 Text 节点,即标签之间或标签包含的文本。
页面中的节点,通过上述不同的构造函数,构造出相应的对象。
由此可以看出 DOM 的主要作用 :DOM 是 JavaScript *** 作网页的接口,它的作用是将网页转为一个 JavaScript 对象,从而可以用脚本进行各种 *** 作(如增删改查)。
DOM 有自己的国际标准,目前通用版本是 DOM 3。
Node 属性有很多,用到时可以查询文档。
如果一个属性是函数,那么这个属性也叫做 方法 ;即方法是函数属性。
document对象是文档的根节点,windowdocument属性就指向这个对象。
通过 DOM API 获取到的 elements 都是伪数组。
Element 对象对应网页的 HTML 元素。每一个 HTML 元素在 DOM 树上都会转化成一个 Element 节点对象。
DOM 提供两种节点集合,用于容纳多个节点: NodeList 和 HTMLCollection 。这两种集合都属于接口规范。许多 DOM 属性和方法,返回的结果是 NodeList 实例或 HTMLCollection 实例。
节点对象除了继承 Node 接口以外,还会继承其他接口。
以上就是关于如何利用Vue.js库中的v-show显示和隐藏元素全部的内容,包括:如何利用Vue.js库中的v-show显示和隐藏元素、JS里面的DOM *** 作是什么、原生JS DOM *** 作方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)