js获取元素方法有:
1、getElementById :根据指定的 id 属性值得到对象。返回 id 属性值等于 sID 的第一个对象的引用。假如对应的为一组对象,则返回该组对象中的第一个。
2、getElementsByName:getElementsByName(name)该方法与 getElementById() 方法相似,但是它查询元素的 name 属性,而不是 id 属性。
另外,因为一个文档中的 name 属性可能不唯一(如 HTML 表单中的单选按钮通常具有相同的 name 属性),所以getElementsByName() 方法返回的是所有匹配元素组成的数组,而不是一个元素。
3、getElementsByTagName:getElementsByTagName() 方法会使用指定的标签名返回所有的元素(作为一个节点列表),这些元素是您在使用此方法时所处的元素的后代。
getElementsByTagName() 可被用于任何的 HTML 元素
如果把特殊字符串 "*" 传递给 getElementsByTagName() 方法,它将返回文档中所有元素的列表,元素排列的顺序就是它们在文档中的顺序。
传递给 getElementsByTagName() 方法的字符串可以不区分大小写。
js获取元素方法有:1、getElementById :根据指定的 id 属性值得到对象。
返回 id 属性值等于 sID 的第一个对象的引用。假如对应的为一组对象,则返回该组对象中的第一个。
2、getElementsByName:getElementsByName(name)该方法与 getElementById() 方法相似,但是它查询元素的 name 属性,而不是 id 属性。另外,因为一个文档中的 name 属性可能不唯一(如 HTML 表单中的单选按钮通常具有相同的 name 属性),所以getElementsByName() 方法返回的是所有匹配元素组成的数组,而不是一个元素。
3、getElementsByTagName:getElementsByTagName() 方法会使用指定的标签名返回所有的元素(作为一个节点列表),这些元素是您在使用此方法时所处的元素的后代。getElementsByTagName() 可被用于任何的 HTML 元素如果把特殊字符串 "*" 传递给 getElementsByTagName() 方法,它将返回文档中所有元素的列表,元素排列的顺序就是它们在文档中的顺序。
传递给 getElementsByTagName() 方法的字符串可以不区分大小写。
常用以下几种方式:
<div id="mued" class="mued"></div>
<script>
//通过DOM标签获取,会选择页面上所有的DIV标签
var divObj = document.getElementsByTagNames("div");
//通过ID获取,具有唯一性
var divObjId = document.getElementsById("mued");
//通过Class获取,会选择页面上所有CLASS名为mued的DOM标签
var divObjClass = document.("mued");
//如果使用jQuery库,相对来说比较简单
var jDiv = $("div");
var jDivId = $("#mued");
var jDivClass = $(".mued");
</script>
getElementById()
// 通过ID来取得元素,所以只能访问设置了ID的元素,比如说有一个DIV的ID为docid:
//
// 那么就可以用getElementById("docid")来获得这个元素。
getElementsByName()
// 通过NAME来获得元素,DOCUMENT中元素的NAME可以重复,如果一个文档中有两个以上的标// 签NAME相同,那么getElementsByName()就可以取得这些元素组成一个数组。
// 比如有两个DIV:
//
//
// 那么可以用getElementsByName("docname")获得这两个DIV,用getElementsByName("docname")[0]访问第一个DIV。getElementsByTagName()
// 通过TAGNAME(标签名称)来获得元素,一个DOCUMENT中会有相同的标签,所以这个方法也是取得一个数组。
// 可以用 getElementsByTagName("div")来访问它们,用getElementsByTagName("div")[0]访问第一个 DIV,用getElementsByTagName("div")[1]访问第二个DIV。
试一下 ContentEditable 这个属性。
看一下这个 Demo:
HTML5 Demo: ContentEditable
5demos.com/contenteditable
相关代码:
1
2
3
4
5
6
vareditable = document.getElementById('editable');addEvent(editable, 'blur', function() {
// lame that we're hooking the blur event
localStorage.setItem('contenteditable', this.innerHTML);
document.designMode = 'off';});addEvent(editable, 'focus', function () {
document.designMode = 'on';});if (localStorage.getItem('contenteditable')) {
editable.innerHTML = localStorage.getItem('contenteditable');}
不过,建议用JQuery比较好,而且简单,Jquery有个属性,直接可以获取当前元素的所有子元素
改成w=w.offsetWidth;
js获取Html元素的实际宽度高度
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}。这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度。
第二种情况就是宽和高是写在行内中,比如style="width:120px;",这中情况通过上述2个方法都能拿到宽度。
小结,因为id.offsetWidth和id.offsetHeight无视样式写在样式表还是行内,所以我们获取元素宽和高的时候最好用这2个属性。注意如果不是写在行内style中的属性都不能通过id.style.atrr来获取。
现在的前端制作很少直接把样式写style里了,都是写在样式表里。如果你要获取的样式没有相对应的(就像#div1.style.width对 应#div1.offsetWidth),就只能分别针对不用浏览器来获取样式表的属性了,可以试着搜索“JS 获取样式属性”之类的。
getElementById() // 通过ID来取得元素,所以只能访问设置了ID的元素,比如说有一个DIV的ID为docid:// // 那么就可以用getElementById("docid")来获得这个元素。
getElementsByName()// 通过NAME来获得元素,DOCUMENT中元素的NAME可以重复,如果一个文档中有两个以上的标// 签NAME相同,那么getElementsByName()就可以取得这些元素组成一个数组。// 比如有两个DIV:// // // 那么可以用getElementsByName("docname")获得这两个DIV,用getElementsByName("docname")[0]访问第一个DIV。
getElementsByTagName()// 通过TAGNAME(标签名称)来获得元素,一个DOCUMENT中会有相同的标签,所以这个方法也是取得一个数组。// 可以用 getElementsByTagName("div")来访问它们,用getElementsByTagName("div")[0]访问第一个 DIV,用getElementsByTagName("div")[1]访问第二个DIV。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.563秒