当前位置: 首页 > news >正文

建设银行 企业网站重庆交通建设监理协会网站

建设银行 企业网站,重庆交通建设监理协会网站,珠海公司做网站,时装网站的建设一、元素的特性attribute 1.元素的属性和特性 前面我们已经学习了如何获取节点#xff0c;以及节点通常所包含的属性#xff0c;接下来我们来仔细研究元素Element。 我们知道#xff0c;一个元素除了有开始标签、结束标签、内容之外#xff0c;还有很多的属性#xff0…一、元素的特性attribute 1.元素的属性和特性 前面我们已经学习了如何获取节点以及节点通常所包含的属性接下来我们来仔细研究元素Element。 我们知道一个元素除了有开始标签、结束标签、内容之外还有很多的属性attribute 浏览器在解析HTML元素时会将对应的attribute也创建出来放到对应的元素对象上。 比如id、class就是全局的attribute会有对应的id、class属性比如href属性是针对a元素的type、value属性是针对input元素的 接下来我们学习一下如何获取和设置这些属性。 2.attribute的分类 属性attribute的分类 标准的attribute某些attribute属性是标准的比如id、class、href、type、value等非标准的attribute某些attribute属性是自定义的比如abc、age、height等 div classbox idmain namekobe abcdef age18哈哈哈哈/div3.attribute的操作 对于所有的attribute访问都支持如下的方法 elem.hasAttribute(name) — 检查特性是否存在。elem.getAttribute(name) — 获取这个特性值。elem.setAttribute(name, value) — 设置这个特性值。elem.removeAttribute(name) — 移除这个特性。attributesattr对象的集合具有name、value属性 attribute 具备以下特征 它们的名字是大小写不敏感的id 与 ID 相同。它们的值总是字符串类型的。 4.元素的属性property 对于标准的attribute会在DOM对象上创建与其对应的property属性 console.log(boxE1.id,boxEl.className) //box main console.log(boxEl.abc, boxEl.age, boxEl.height) // undefined...在大多数情况下它们是相互作用的 改变property通过attribute获取的值会随着改变通过attribute操作修改property的值会随着改变 但是input的value修改只能通过attribute的方法 除非特别情况大多数情况下设置、获取attribute推荐使用property的方式 这是因为它默认情况下是有类型的 toggleBtn.onclick function () {checkBoxInput.checked !checkBoxInput.checked; }5.HTML5的data-*自定义属性 前面我们有学习HTML5的data-*自定义属性那么它们也是可以在dataset属性中获取到的 // data-* console.log(div2El.dataset);//DOMStringMap console.log(typeof div2El.dataset);//object console.log(div2El.dataset.name, div2El.dataset.age);二、元素的class、style 1.JavaScript动态修改样式 有时候我们会通过JavaScript来动态修改样式这个时候我们有两个选择 选择一在CSS中编写好对应的样式动态的添加class选择二动态的修改style属性 开发中如何选择呢 在大多数情况下如果可以动态修改class完成某个功能更推荐使用动态class如果对于某些情况无法通过动态修改class比如精准修改某个css属性的值那么就可以修改style属性 接下来我们对于两种方式分别来进行学习。 2.元素的className和classList 元素的class attribute对应的property并非叫class而是className 这是因为JavaScript早期是不允许使用class这种关键字来作为对象的属性所以DOM规范使用了className虽然现在JavaScript已经没有这样的限制但是并不推荐并且依然在使用className这个名称 我们可以对className进行赋值它会替换整个类中的字符串。 var boxE1 document.querySelector(.box); boxE1.className why abc;如果我们需要添加或者移除单个的class那么可以使用classList属性。 elem.classList 是一个特殊的对象 elem.classList.add(class) 添加一个类elem.classList.remove(class)添加/移除类。elem.classList.toggle(class) 如果类不存在就添加类存在就移除它。elem.classList.contains(class)检查给定类返回 true/false。 classList是可迭代对象可以通过for of进行遍历。 3.元素的style属性 如果需要单独修改某一个CSS属性那么可以通过style来操作 对于多词multi-word属性使用驼峰式 camelCase boxEl.style.width 100px; boxEl.style.height 50px; boxE1.style.backgroundColor red;如果我们将值设置为空字符串那么会使用CSS的默认样式 boxEl.style.display ;多个样式的写法我们需要使用cssText属性 h1El.style.color blue; h1El.style.border 1px solid red; // 会覆盖上面的color和border配置 h1El.style.cssText font-size: 24px;不推荐这种用法因为它会替换整个字符串 // 1.在property中使用的驼峰格式 // console.log(boxEl.style.backgroundColor)// 2.如果将一个属性的值, 设置为空的字符串, 那么是使用默认值 // boxEl.style.display // boxEl.style.fontSize // 3.设置多个样式 // boxEl.style.fontSize 30px // boxEl.style.color red boxEl.style.cssText font-size: 30px; color: red;4.元素style的读取 - getComputedStyle 如果我们需要读取样式 对于内联样式是可以通过style.*的方式读取到的;对于style、css文件中的样式是读取不到的 这个时候我们可以通过getComputedStyle的全局函数来实现 console.log(getComputedStyle(boxEl).fontSize)四、元素的常见操作 1.创建元素 前面我们使用过 document.write 方法写入一个元素 这种方式写起来非常便捷但是对于复杂的内容、元素关系拼接并不方便它是在早期没有DOM的时候使用的方案目前依然被保留了下来 那么目前我们想要插入一个元素通常会按照如下步骤 步骤一创建一个元素步骤二插入元素到DOM的某一个位置 创建元素 document.createElement(tag) // 创建元素 var div1El document.createElement(div); div1El.textContent 我是div元素; div1El.style.color red; div1El.style.fontSize 18px;2.插入元素 插入元素的方式如下 node.append(...nodes or strings) —— 在 node 末尾 插入节点或字符串node.prepend(...nodes or strings) —— 在 node 开头 插入节点或字符串node.before(...nodes or strings) —— 在 node 前面 插入节点或字符串node.after(...nodes or strings) —— 在 node 后面 插入节点或字符串node.replaceWith(...nodes or strings) —— 将 node 替换为给定的节点或字符串。 3.移除和克隆元素 移除元素我们可以调用元素本身的remove方法 如果我们想要复制一个现有的元素可以通过cloneNode方法 可以传入一个Boolean类型的值来决定是否是深度克隆深度克隆会克隆对应元素的子元素否则不会 bodybutton classremove-btn移除box/buttonbutton classclone-btn复制box/buttondiv classboxh2我是标题/h2p我是文本, 哈哈哈哈哈/p/divscript// 1.获取元素var boxEl document.querySelector(.box)var removeBtnEl document.querySelector(.remove-btn)var cloneBtnEl document.querySelector(.clone-btn)// 2.监听removeBtn的点击removeBtnEl.onclick function() {boxEl.remove()}// 3.复制boxvar counter 0cloneBtnEl.onclick function() {var newNode boxEl.cloneNode(true)newNode.children[0].textContent 我是标题 counter// boxEl.after(newNode)document.body.append(newNode)counter}/script/body4.旧的元素操作方法 在很多地方我们也会看到一些旧的操作方法 parentElem.appendChild(node) 在parentElem的父元素最后位置添加一个子元素 parentElem.insertBefore(node, nextSibling) 在parentElem的nextSibling前面插入一个子元素 parentElem.replaceChild(node, oldChild) 在parentElem中新元素替换之前的oldChild元素 parentElem.removeChild(node) 在parentElem中移除某一个元素 5.元素的大小和滚动 clientWidthcontentWithpadding不包含滚动条 clientHeightcontentHeightpadding clientTopborder-top的宽度 clientLeftborder-left的宽度 offsetWidth元素完整的宽度 offsetHeight元素完整的高度 offsetLeft距离父元素的x offsetHeight距离父元素的y scrollHeight整个可滚动的区域高度 scrollTop滚动部分的高度 !DOCTYPE html html langen headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/titlestylebody {padding: 100px;}.box {width: 100px;height: 100px;padding: 20px;border: 10px solid red;/* box-sizing: border-box; */background-color: orange;overflow: auto;}/style /head bodydiv classbox你去过国内最美的地方是哪# 我去过国内最美的地方是新疆喀纳斯。喀纳斯是一个美丽而神秘的地方这里群山环抱森林密布湖水清澈风景奇特。为国家级5A级景区国家地质公园国家森林公园。/divscriptvar boxEl document.querySelector(.box)// 1.获取样式(局限性很强)var boxStyle getComputedStyle(boxEl)console.log(boxStyle.width, boxStyle.height)// 2.获取更多信息console.log(boxEl.clientWidth)console.log(boxEl.clientHeight)console.log(boxEl.clientLeft)console.log(boxEl.clientTop)console.log(boxEl.offsetWidth)console.log(boxEl.offsetHeight)console.log(boxEl.offsetLeft)console.log(boxEl.offsetTop)console.log(boxEl.scrollHeight)console.log(boxEl.scrollTop)// window对象window.onclick function() {console.log(boxEl.scrollTop)}/script/body /html五、window的大小和滚动 window的width和height innerWidth、innerHeight获取window窗口的宽度和高度包含滚动条outerWidth、outerHeight获取window窗口的整个宽度和高度包括调试工具、工具栏documentElement.clientHeight、documentElement.clientWidth获取html的宽度和高度不包含滚动条 window的滚动位置 scrollXX轴滚动的位置别名pageXOffsetscrollYY轴滚动的位置别名pageYOffset 也有提供对应的滚动方法 方法 scrollBy(x,y) 将页面滚动至 相对于当前位置的 (x, y) 位置方法 scrollTo(pageX,pageY) 将页面滚动至 绝对坐标
http://wiki.neutronadmin.com/news/61116/

相关文章:

  • 网站建设催款函南通网站排名方法
  • 网站推广策划方式交互设计专业世界大学排名
  • app网站与普通网站的区别是什么html源码之家
  • 长春网站制作wordpress传上去
  • 常熟做网站的公司做网站商家
  • 经常投诉网站快照网站主办者是谁
  • 公司网站建设阿里云上海公共服务平台
  • 网站建设技术风险电脑建立网站
  • 广厦建设集团官方网站高端网站设计 必荐骏网添城科技
  • 网站怎么做弹出表单线下营销
  • wordpress开发视频网站模板下载如何解决网站访问拥挤
  • 自己做网站怎么租服务器好玩的网页游戏排名
  • 建设部质量监督官方网站自己做游戏app的网站
  • 网站建设工作推进会上的讲话wordpress 文章 碎片
  • 做seo为什么要了解网站德州做网站多少钱
  • 淘宝客网站制作视频教程长沙有哪些app开发公司
  • 湖南做网站的公司锦州网站建设推广
  • 建站公司论坛厦门网络公司的网络平台
  • 符合网络营销的网站wordpress 安全性设置
  • 江门整站优化微信公众管理平台
  • 网站中点击链接怎么做的彭州建设网站
  • 自己网站建设装修设计公司哪家
  • 网站备案核验单怎么选建设网站总结
  • 网站付费推广php网站开发笔试题
  • 潮州seo网站推广如何申请网页域名
  • 大连中山网站建设新网站制作公司
  • 做平面计设和网站哪个好网络游戏下载
  • 网站前台建设需要哪些技术知识沈阳做微网站
  • 做python题目的网站企业报刊网站建设情况总结
  • 邢台做网站可信赖建行企业网站