javascript获取html元素html方法,js 创建html元素

  javascript获取html元素html方法,js 创建html元素

  本文已经为大家带来了一些关于javascript的知识,主要介绍了html元素操作的一些相关问题,包括如何获取操作元素,操作元素的内容,元素的属性和样式等等。希望对你有帮助。

  推荐:javascript教程

  

document对象的方法和属性

   document对象提供了一些查找元素的方法,这些方法可以用来根据元素的id、名称和类属性,以及标记名来获取操作的元素。

  总结

  除了document.getElementById()方法返回具有指定Id的元素之外,其他所有方法都返回满足要求的集合。要获取其中一个对象,可以通过下标获取,缺省情况下下标从0开始。

  document对象提供了一些属性,可用于获取文档中的元素。比如获取所有表单标签,图片标签等。

  document对象的body属性用于返回body元素。document对象的documentElement属性用于返回html文档的根节点的HTML元素。注意

  文档对象的方法和由文档对象的属性获得的操作元素表示同一个对象。例如,document . getelementsbytagname( body )[0]与document.body一致

  HTML5新增的document对象方法

  在HTML5中,在document对象中添加了两个新方法querySelector()和querySelectorAll(),以便更容易地获取操作元素。

  querySelector()方法用于返回文档中与指定元素或CSS选择器匹配的第一个对象的引用。querySelectorAll()方法用于返回文档中与指定元素或CSS选择器匹配的对象集合。由于这两种方法的用法相同,下面是document.querySelector()方法的一个示例。

  

Element对象的方法和属性

  在DOM操作中,element对象还提供了获取某个元素内指定元素的方法。两个常用的方法是getElementsByClassName()和getElementsByTagName()。它们的使用方式与document对象中同名的方法相同。

  此外,element对象还提供children属性来获取指定元素的子元素。例如,获取上例中ul的子元素。

  对象的children属性也返回对象的集合。如果要获取其中一个对象,需要通过下标获取,缺省情况下下标从0开始。此外,document对象还有一个children属性,它的第一个子元素通常是一个html元素。HTMLCollection对象

  HTMLCollection对象:调用getElementsByClassName()方法、getElementsByTagName()方法、children属性等返回的对象集合。通过文档对象或元素对象。NodeList对象:document对象调用getElementsByName()方法,在Chrome和FireFox浏览器中返回NodeList对象,在IE11中返回HTMLCollection对象。HTMLCollection与NodeList对象的区别:

  HTMLCollection对象用于元素操作。NodeList对象用于节点操作。提示:id和名称可以自动转换为getElementsByClassName()方法、getElementsByTagName()方法和children属性返回的集合中的属性。

  在JavaScript中,如果要对获取的元素内容进行操作,可以使用DOM提供的属性和方法。

  属性属于元素对象,方法属于文档对象。使用时,InnerHTML将保持书写格式和标签样式。InnerText是删除了所有格式和标签的纯文本内容。移除标签后,text属性会保留文本格式。举个例子

  代码实现

  !声明文档类型

  超文本标记语言

  头

  meta charset=UTF-8

  元素内容操作/标题

  /头

  身体

  p id=box

  第一段.

  p

  第二段.

  a href=http://www.example.com 第三个/a

  /p

  /p

  脚本

  var box=document . getelementbyid( box );

  console . log(box . innerhtml);

  console . log(box . innertext);

  console . log(box . text content);

  /脚本

  /body

  /html注意

  使用innerText属性时,可能存在浏览器兼容性问题。因此,建议

  开发时,尽可能使用innerHTML来获取或设置元素的文本内容。同时,innerHTML属性和document.write()方法在设置内容时也有一些区别。前者作用于指定的元素,而后者重建整个HTML文档页面。因此,读者应在开发中根据实际需要选择合适的实现模式。

  【案例】改变盒子大小

  代码实现思路:

  写HTML,设置p的大小。

  根据用户的点击次数改变框的大小。

  点击次数为奇数时,方框都变大;当点击次数为偶数时,这些方框都会变小。

  代码实现

  !声明文档类型

  超文本标记语言

  头

  meta charset=UTF-8

  风格。box { width:50px;高度:50px背景:# eee边距:0自动;}

  /风格

  /头

  身体

  p id=box class=box/p

  脚本

  var box=document . getelementbyid( box );

  var I=0;//保存用户点击框的次数

  Box.onclick=function() {//处理盒子的点击事件

  我;

  If (i% 2) {//点击次数为奇数,变大。

  this . style . width= 200 px ;

  this . style . height= 200 px ;

  This.innerHTML= large

  } else {//点击次数均匀,变小。

  this . style . width= 50px ;

  this . style . height= 50px ;

  This.innerHTML= small

  }

  };

  /脚本

  /body

  /HTML在DOM中,为了方便JavaScript获取、修改和遍历指定HTML元素的相关属性,提供了操作的属性和方法。

  attributes属性可以用来获取一个HTML元素的所有属性,以及所有属性的数字长度。

  举个例子

  代码实现

  !声明文档类型

  超文本标记语言

  头

  meta charset=UTF-8

  元素属性操作/标题

  风格。灰色{背景:# CCC}

  # thick { font-weight:bolder;}

  /风格

  /头

  身体

  测试单词。/p

  脚本

  //获取P元素

  var ele=document . getelementsbytagname( p )[0];

  //输出当前ele的属性个数

  Console.log(操作前的属性数: ele . attributes . length );

  //为ele添加属性,检查属性个数。

  ele.setAttribute(align , center );

  Ele.setAttribute(title , test text );

  ele.setAttribute(class , gray );

  ele.setAttribute(id , thick );

  ele.setAttribute(style , font-size:24px;边框:1px纯绿色;);

  Console.log(添加属性后的属性数: ele . attributes . length );

  //获取ele的样式属性值。

  Console.log (Get style属性值: ele . Get attribute( style ));

  //删除ele的style属性,检查剩下的属性。

  ele . remove attribute( style );

  Console.log(查看所有属性:);

  for(var I=0;I ele . attributes . length;i) {

  console . log(ele . attributes[I]);

  }

  /脚本

  /body

  /html审核:通过元素属性的操作修改样式。

  元素语法:style.attribute样式。

  要求:您需要删除CSS样式名称中的中间横线“-”,并将第二个英文首字母大写。

  例如:设置backgroundColor的背景色,需要在style属性操作中改为背景色。

  注意

  CSS中的float样式和JavaScript的保留字冲突,不同的浏览器有不同的解决方法。

  有区别。比如IE9——11,Chrome和FireFox可以用“Float”和“cssFloat”,Safari浏览器用“float”,IE6~8用“styleFloat”。

  问题:一个元素的类选择器可以有多个,在开发中如何对选择器列表进行操作?

  原解决方案:使用element对象的className属性得到字符类型的结果,然后根据实际情况处理字符串。

  HTML5提供的方法:新添加的classList(只读)元素的类选择器列表。

  比如一个P元素的类值是“box header navlist title”,如何删除表头?

  5 HTML5解决方案:P元素对象。class list . toggle(" header ");

  举个例子

  代码实现

  !声明文档类型

  超文本标记语言

  头

  meta charset=UTF-8

  类别列表/标题的使用

  风格。bg {背景:# ccc}。strong { font-size:24px;颜色:红色;}。平滑{高度:30px宽度:120px边框半径:10px}

  /风格

  /头

  身体

  保险商实验所

  liPHP/李

  li class=bgJavaScript/li

  李/李

  里爪哇/李

  /ul

  脚本//获取第2个里元素var ele=文档。getelementsbytagname( Li )[1];//若里元素中没有强烈的类,则添加如果(!ele。班级名单。包含( strong ){ ele。班级名单。add( strong );} //若里元素中没有光滑的类,则添加;若有删除ele。班级名单。切换(“平滑”);console.log(添加与切换样式后:);控制台。日志(ele);/脚本

  脚本

  ele。班级名单。删除(“BG”);

  console.log(删除后:);

  控制台。日志(ele);

  /脚本

  /body

  /html除此之外,类别列表属性还提供了许多其他相关操作的方法和属性。

  代码实现思路:

   编写HTML,实现标签栏的结构与样式的设计,其中班级等于目前的表示当前显示的标签,默认是第一个标签。

   获取所有的标签与标签对应的显示内容。

   遍历并为每个标签添加鼠标滑过事件,在事件的处理函数中,遍历标签对应的所有显示内容,当鼠标滑过标签时,通过优等生名单的添加()方法添加当前,否则通过移除()方法移出当前。

  代码实现

  !声明文档类型

  超文本标记语言

  头

  meta charset=UTF-8

  标题标签栏切换效果/标题

  风格。tab-box { width:383 px;边距:10px边框:1px纯色# ccc边框-顶部:2px实心# 206F96}。tab-head { height:31px;}。tab-head-p { width:95px;高度:30px浮动:左;边框-底部:1px纯色# ccc右边框:1px实心# ccc背景:# 206F96行高:30px文本对齐:居中;光标:指针;颜色:# fff}。标签头。当前{背景:# fff边框-底部:1px固体# fff颜色:# 000;}。tab-head-r { border-right:0;}。tab-body-p {显示:无;边距:20px 10px}。标签主体。当前{显示:块;}

  /风格

  /头

  身体

  选项卡框

  p class=tab-head

  p class=tab-head-p current 标签一/p

   tab-head-p 标签二/p

   tab-head-p 标签三/p

  tab-head-p tab-head-r 标签四/p

  /p

  !- jkdjfk?-

  标签-正文

  p class=tab-body-p current 1 /p

  p class=tab-body-p 2 /p

  p class=tab-body-p 3 /p

  p选项卡-正文-p 4/p

  /p

  /p

  脚本

  //获取标签栏的所有标签元素对象

  var tabs=文档。getelementsbyclassname( tab-head-p );

  //获取标签栏的所有内容对象

  var PS=文档。getelementsbyclassname( tab-body-p );

  for(var I=0;i tabs.lengthi) { //遍历标签部分的元素对象

  制表符[我].onmouseover=function() { //为标签元素对象添加鼠标滑过事件

  for(var I=0;i ps.lengthi) { //遍历标签栏的内容元素对象

  if (tabs[i]==this) { //显示当前鼠标滑过的里元素

  PS[我]。班级名单。添加(“当前”);

  tabs[i].classList.add(当前);

  } else { //隐藏其他里元素

  PS[我]。班级名单。删除(“当前”);

  制表符[I]。班级名单。删除(“当前”);

  }

  }

  };

  }

  /脚本

  /body

  /html相关推荐:javascript教程以上就是Java脚本语言实例详解之超文本标记语言元素操作的详细内容,更多请关注我们其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: