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

一个人做b2b2c网站/网络营销的策略有哪些

一个人做b2b2c网站,网络营销的策略有哪些,网站建设公司中心,微网站怎么免费做对于JavaScript,为了能够使JavaScript操作HTML、JavaScript就有了一套自己的dom编程接口 对于HTML,dom使得html形成一棵dom树。包含文档、元素、节点 我们获取过来的DOM元素是一个对象(object),所以称为文档对象模型…

对于JavaScript,为了能够使JavaScript操作HTML、JavaScript就有了一套自己的dom编程接口

对于HTML,dom使得html形成一棵dom树。包含文档、元素、节点

我们获取过来的DOM元素是一个对象(object),所以称为文档对象模型

关于dom操作,我们主要针对于元素的操作,主要有创建、增、删、改、查、属性操作、事件操作

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>节点操作</title></head><body><!-- 节点的优点 --><div>我是div</div><span>我是span</span><ul><li>我是li1</li><li>我是li2</li><li>我是li3</li><li>我是li4</li></ul><div class="demo"><div class="box"><span class="erweima"></span></div></div><script>//为什么要学节点操作呢?//获取元素通常使用两种方式://1.利用DOM提供的方法获取元素//document.getElementById()、document.getElementsByTagName()、document.querySelector()等//逻辑性不强、繁琐//2.利用节点层级关系获取元素//利用父子节点关系获取元素//逻辑性强,但是兼容性稍差//两种方式都可以获取节点,但节点操作更简单//页面中所有元素都叫做节点(空格、换行都是节点,算作文本节点//所有节点都可通过JavaScript访问,所有HTML元素(节点)均可被修改,创建删除//节点至少拥有nodeType(节点类型)、nodeName(节点名称)和nodeValue(节点值)这三个基本属性//元素节点 nodeType为1  属性节点nodeType为2   文本节点nodeType为3(文本节点包含文字、空格、换行等)//实际开发中,节点操作主要操作的是元素节点//节点层级:利用DOM树可以把节点划分为不同的层级关系,常见的是父子兄层级关系//1.父级节点	node.parentNodevar erweima=document.querySelector('.erweima');console.log(erweima.parentNode);//找二维码的爹,结果获取到爹:box//注意:得到离元素最近的父级节点(亲爸爸),如果找不到父节点就返回为null//1.子节点  childNodes 所有的子节点包含元素节点 文本节点等等var ul=document.querySelector('ul');console.log(ul.childNodes);//4个li元素节点+5个空格(文本)节点//parent.childNodes(标准)   返回包含指定节点的子节点集合,该集合为即时更新的集合//注意:返回值里包含所有的子节点,包括元素节点、文本节点等//如果只想要获得里面的元素节点,则需要专门处理,所以我们一般不提倡使用childNodes//parentNode.children(非标准) 是一个只读属性,返回所有的子元素节点,它只返回子元素节点,其余节点不返回(重点掌握)//虽然children是一个非标准,但是各个浏览器都支持,所以我们放心使用啦//2.children获取所有的子元素节点,实际开发常用console.log(ul.children);//节点操作之第一个子元素和最后一个子元素//parentNode.firstChild    firstChild返回第一个子节点,找不到则返回null。同样,也是包含所有的节点//parentNode.lastChild   lastChild返回最后一个子节点,找不到则返回null。同样,也是包含所有的节点console.log(ul.firstChild);console.log(ul.lastChild);//parentNode.firstElementChild  返回第一个子元素节点,找不到则返回null//parentNode.lastElementChild  返回最后一个子元素节点,找不到则返回null//注意这两种方法有兼容性问题,IE9以上才支持。console.log(ul.firstElementChild);console.log(ul.lastElementChild);//好烦呐,实际开发中,firstChild和lastChild包含其他节点,操作不方便,而firstElementChild和lastElementChild又有兼容性问题,那我们如何获取第一个子元素节点或最后一个子元素节点呢?//实际开发的写法:既没有兼容性问题又返回第一个子元素console.log(ul.children[0]);console.log(ul.children[3]);console.log(ul.children[ul.children.length-1]);</script></body>
</html>
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title>
</head><body><div>我是div</div><span>我是span</span><script>//兄弟节点//1.node.nextSibling  返回当前元素的下一个兄弟节点,找不到则返回null,同样,也是包含所有的节点var div = document.querySelector('div');console.log(div.nextSibling);//2.node.previousSibling 返回当前元素上一个兄弟节点,找不到则返回null,同样,也是包含所有的节点var span = document.querySelector('span');console.log(span.previousSibling);//3.node.nextElementSibling返回当前元素下一个兄弟元素节点,找不到则返回nullconsole.log(div.nextElementSibling);//4.node.previousElementSibling 返回当前元素上一个兄弟元素节点,找不到则返回null//注意:这两个方法有兼容性问题,IE9以上才支持console.log(span.previousElementSibling);//如何解决兼容性问题?//自己封装一个兼容性的函数function getNextElementSibling(element) {var el = element;while (el = el.nextSibling) {if (el.nodeType === 1) {return el;}}return null;}</script>
</body></html>

创建:document.write        element.innerHTML()        document.createElement()

区别:document.write()直接内容写入页面的内容流,但是文档流执行完毕,会导致页面全部重绘(不咋地用)。innerHTML()是将内容写入某个DOM节点,不会导致页面全部重绘,创建多个元素效率更高(不要拼接字符串,采取数组形式拼接),结构稍复杂。createElement()创建多个元素效率低一些,但结构更清晰。

总结:不同浏览器下,innerHTML效率要比createElement高。

:appendChild  insertBefore

<script>//创建节点   document.createElement('tagName')  //此方法创建由tagName指定的HTML元素,因为这些元素原先不存在,是根据我们的需求动态生成的,所以我们也称为动态创建元素节点//1.创建节点元素节点var li=document.createElement('li');//添加节点  2. node.appendChild(child)  node是父级  child是子级  后面追加元素  类似于数组中的push//此方法将一个节点添加到指定父节点的子节点列表末尾。类似于CSS里面的after伪元素var ul=document.querySelector('ul');ul.appendChild(li);//3.node.insertBefore(child,指定元素)//node.insertBefore()方法将一个节点添加到父节点的指定子节点前面,类似于css里面的before伪元素var lili=document.createElement('li');ul.insertBefore(lili,ul.children[0]);//4.我们想要页面添加一个新的元素:1.创建元素  2.添加元素</script>

:removeChild

<body><button>删除</button><ul><li>熊大</li><li>熊二</li><li>光头强</li></ul><script>//node.removeChild(child)  从DOM中删除一个子节点,返回删除的节点var btn = document.querySelector('button');var ul = document.querySelector('ul');btn.onclick = function () {if (ul.children.length == 0) {this.disabled = true;//按钮禁用} else {ul.removeChild(ul.children[0]);//ul.children(获取所有子元素节点)}}</script>
</body>

:主要修改dom的元素属性,dom元素的内容、属性、表单的值等

            1.修改元素属性:src、href、title等

            2.修改普通元素内容:innerHTML、innerText

            3.修改表单元素:value、type、disabled等

            4.修改元素样式:style、className

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">div {width: 100px;height: 100px;background-color: #7FFFD4;}.change {background-color: aqua;color: #00FFFF;font-size: 25px;margin-top: 100px;}</style>
</head><body><div class="change">文本</div><script>//修改样式属性//通过JS修改元素的大小、颜色、位置等样式//1.element.style	行内样式操作  样式比较少或者功能简单的情况下使用//2.element.className 类名样式操作var div = document.querySelector('div');div.onclick = function () {//div.style里面的属性 采用驼峰命名法this.style.backgroundColor = 'black';this.style.width = '280px';//使用className修改样式属性  样式修改较多,可以采取操作类名方式更改元素样式//当前元素类名改成changethis.className = 'change';}</script>
</body></html>

:主要获取dom的元素

            1.DOM提供的API方法:getElementById、getElementsByTagName古老用法不大推荐使用哦

            2.H5提供的新方法:querySelector、querySelectorAll  提倡!!!!!!!!

            3.利用节点操作获取元素:父(parentNode)、子(children)、兄(previousElementSibling、nextElementSibling) 提倡滴!!!!!!!

属性操作:主要针对于自定义属性

            1.setAttribute:设置dom的属性值

            2.getAttribute:得到dom的属性值

            3.removeAttribute:移出属性

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><div id="demo" index='1' class="nav"></div><script>//1.获取属性值//element.属性  获取属性值var div=document.querySelector('div');console.log(div.id);//element.getAttribute('属性');console.log(div.getAttribute('id'));//区别:element.属性  获取内置属性值(元素本身自带的属性)//element.getAttribute('属性');主要获得自定义的属性(标准)我们程序员自定义的属性console.log(div.getAttribute('index'));console.log(div.index);//果真结果就不明确呢//2.设置属性值//element.属性='值'  设置内置属性值div.id='smallDemo';console.log(div.id);div.className='navs';//element.setAttribute('属性','值');div.setAttribute('index','111');//代码里果然改完了呢div.setAttribute('class','footer');//class特殊//3.移出属性//element.removeAttribute('属性');div.removeAttribute('index');</script></body>
</html>

事件操作:给元素注册事件,采取 事件源.事件类型=事件处理程序

(下一篇详细介绍DOM 事件_xy_is_fhh的博客-CSDN博客)

      

http://www.lbrq.cn/news/1755055.html

相关文章:

  • 想做个赚钱的网站不知道做那种/seo推广seo技术培训
  • 做政务网站/网站之家
  • 广西防城港建设厅网站/百度seo发帖推广
  • 企业型网站有哪些特点/成品app直播源码有什么用
  • 网站制作网页/网站开发用什么软件
  • 做个人网站用什么程序/如何做google推广
  • 网站建设与管理好过吗/广州网站运营专注乐云seo
  • 北京东城区做网站的公司/互联网去哪里学
  • 广告设计与制作工资一般多少/百度seo收录软件
  • 龙岩网站推广公司/无锡百度正规推广
  • 微信官方网站公众平台/可以发广告的平台
  • 模板网点地址信息错误获取发货地址失败/宁德seo推广
  • 襄阳做公司网站的软件公司/友链交换网站
  • 选一个网站做seo/如何设计网站的首页
  • 南充做网站/如何进行网站性能优化?
  • 云南网站公司/一句简短走心文案
  • 做网站 绍兴/免费模板网站
  • 盘县 网站建设/网络营销策划方案800字
  • 学院网站建设方案/外贸获客软件
  • 专业网站 建设公司/百度一下 你就知道首页官网
  • 网站标ico怎么做/关键词排名查询官网
  • 网站建设怎么样/中国十大小说网站排名
  • 手机移动端网站怎么做的/软文代写平台
  • 平面设计接单赚钱吗/关键词优化需要从哪些方面开展?
  • 电商网站制作成手机app/国家认可的赚钱软件
  • 亿唐网不做网站做品牌案例分析/网站友情链接查询
  • 做平面设计在那个网站上找图好/百度seo软件
  • 网站备案 服务内容/广东深圳疫情最新
  • 网站建设分析报告/绍兴seo外包
  • 天津刘金鹏做网站/申请自媒体平台注册
  • 习题4.1 输出3个人的顺序
  • C语言—如何生成随机数+原理详细分析
  • RocketMq集群高可用
  • SQL学习记录01
  • 嵌入式Linux:进程间通信机制
  • Sentinel热点参数限流完整示例实现