在 html dom 中, 元素对象代表着一个 HTML 元素。元素对象 的 子节点可以是, 可以是元素节点,文本节点,注释节点。NodeList 对象 代表了节点列表,类似于 HTML元素的子节点集合。
Element对象的属性和方法
1.元素特性相关属性
element.id 设置/返回元素的id
element.tagName 设置/返回元素的标签名
element.dir 设置/返回元素的文字方向
element.accessKey 设置/返回元素的快捷键
element.draggable 设置/返回元素的是否可拖拽
element.lang 设置/返回元素的语言
element.tabIndex 设置/返回元素的在Tab键遍历时的顺序,-1表示不可被遍历
element.hidden 设置/返回元素 是否可见
element.contentEditable 设置/返回元素 是否可编辑
element.isContentEditable 返回元素 是否可编辑
2.元素状态相关属性
element.attributes 设置/返回元素的属性,返回一个类似数组的对象。
element.className 设置/返回元素的类名,它的值是一个字符串,每个class之间用空格分隔
element.classList 设置/返回元素的类名,返回一个类似数组的对象。
element.innerHTML 设置/返回元素包含的所有HTML代码
3.盒模型相关属性
element.clientHeight 返回元素的css高度,只对块级元素有效,行内元素返回0。 除了元素本身的高度,还包括padding(不包括border、margin)。如果有滚动条还要减去水平滚动条的高度。
document.body.clientHeight 网页总高度 大于> document.documentElement.clientHeight 浏览器窗口高度(减去滚动条的高度)
element.clientLeft, element.clientTop 返回元素左边框的宽度,不包括padding和margin
element.scrollHeight, element.scrollWidth 返回当前元素的总高度,包括溢出容器部门,包括padding、伪元素高度不包括border、margin、滚动条。
element.scrollLeft, element.scrollTop 返回当前元素向右滚动的px
如果要查看整张网页的水平的和垂直的滚动距离,要从document.documentElement元素上读取
element.offsetHeight, element.offsetWidth 返回元素的垂直高度,包括heigth、padding、border、滚动条高度。
element.offsetLeft, element.offsetTop 返回当前元素 左上角位移
4.节点属性
element.appendChild() 为元素添加一个新的子元素
element.children, element.childElementCount
element.firstElementChild, element.lastElementChild
element.nextElementSibling, element.previousElementSibling
element.offsetParent
5.属性相关方法
element.getAttribute() 返回同名属性的值
element.setAttribute()
element.removeAttribute()
element.hasAttribute()
element.querySelector() 返回匹配的第一个元素
getElementsByTagName 返回指定标签名的所有子元素集合
getElementsByClassName
6.事件
监听事件都继承 EventTarget接口
element.addEventListener() 添加事件监听函数
element.removeEventListener() 移除
dispatchEvent() 触发事件
scrollIntoView() 滚动到当前元素
element.focus() 设置元素获取焦点
在网页中,如果需要使用辅助性/装饰性的内容的时候,这就需要使用伪元素了。在使用伪元素的时候,会发现js并不真能直接控制它,这篇文章主要就介绍下如果间接的控制、修改css中伪元素的方法
用css隐藏页面元素有许多种方法。1、opacity:0;2、visibility:hidden;3、diaplay:none;4、position:absolute;5、clip-path。大家可以根据具体情况选择适合的方法来隐藏元素
使用 CSS 让元素不可见的方法很多,剪裁、定位到屏幕外、明度变化等都是可以的。虽然它们都是肉眼不可见,但背后却在多个维度上都有差别
动态生成HTML元素的方法有三种:document.createElement()创建元素,再用appendChild( )添加、使用innerHTML直接将元素添加到指定节点、jQuery创建节点...
通过id删除;通过class获取元素;清空一个元素,即删除一个元素的所有子元素 ;原理很简单,就是不断的判断要清空的div还有没有子节点,有的话就删除一个子节点(这里是它的首个子节点),直到删除完毕为止。
我们经常通过document.getElementById 方法来获取到一个元素,这个时候我们经常需要有一个需求,那就是如何判断这个元素在父元素中的位置。原生JS有一个常见的小技巧那就是通过元素的previousSibling 属性,额外需要注意的是该属性会遍历text节点,即回车键。
前几天写一个js的时候遇到一个非常诡异的事情,这个问题是这样的,我要获取一个页面的DOM元素的val值,判断这个值是否比某个变量大,这个需求原先数字最大也就是10,现在要改了,可能会更多,这个时候我发现比较大小的判断就出了问题:
动态创建元素一 document.write()body标签中就会插入但是这种方法几乎不用,因为这回影响页面的布局,甚至会将页面原来的内容冲刷掉,从而只显示输出内容;动态创建元素二 innerHTML
真正意义上的inline-block水平呈现的元素间,换行显示或者空格隔开的情况下会有间距,这是因为浏览器在解析时,会将换行等读取成一个空格导致。
请问什么是可替换元素和非可替换元素,它们的差异是什么?并举例说明。前端面试中 HTML 的题目本来就最少,而且并不难,翻来覆去也就那几样。我们之前已经谈到过最经典的 HTML 语义化 ,今天就借此机会来谈谈可替换元素。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!