Js基础
1:document.write()
这个是动态创建元素内容,利用js。这个可以利用js来创建元素,文本,标签等,document.write()与document.writeln()的区别就在于writeln()输出内容后,会在源代码中换一行,而write()会紧挨着输出不会有任何换行。这个标签必须随页面一同加载显示。
在一个网页中引用其它网页可以使用js的document.write(html代码),这样子生成。
2:最基本的dom遍历属性
àdocument.getElementById()
根据元素id获取元素,使用这个,不是集合,是单个的元素。
àdocument.getElementsByName()
但是这个特殊,根据元素的name获取元素,这个放回的是对象数组,和下面获取到的是集合只有上面的获取到的是单个的元素。在表单元素的时候使用最好。
à document.getElementsByTagName()
这个也是获取元素,根据页面上标签的名字获取所有的元素,获取到的是个集合。
Eg:按钮实现里面内容变化
<script type="text/javascript"> window.onload = function() { var inputs = document.getElementsByTagName('input'); for (var i = 0; i < inputs.length; i++) { inputs[i].onclick = function () { for (var c = 0; c < inputs.length; c++) { if(inputs[c].type=="button") { inputs[c].value = '哈哈哈'; } } this.value = '呜呜'; }; } }; </script>
Eg:利用计时器实现使用说明的等待时间。
<script type="text/javascript"> window.onload = function () { var ss = 4; //这里启动计时器 var time=setInterval(function() { var sa = document.getElementById('btn1'); if (ss > 0) { sa.value = '请稍等几分钟' + ss + ''; ss--; } else { sa.value = '同意'; sa.disabled = false; clearInterval(time); } }, 1000); }; </script>
àdocument.createElement('标签名');
<script type="text/javascript"> window.onload = function() { document.getElementById('btn').onclick = function() { var alink = document.createElement('a'); //动态创建元素 alink.href = 'http://www.baidu.com'; alink.target = '_black'; alink.innerText = '百度'; document.getElementById('div1').appendChild(alink); //将其添加到div中. var btton = document.createElement('input'); btton.type = 'text'; document.getElementById('div1').appendChild(btton); }; }; </script>
删除层中元素
document.getElementById('btn1').onclick = function() { var sss = document.getElementById('div1'); while (sss.firstChild) { sss.removeChild(sss.firstChild); } };
***:在程序中需要判断类型,我们可以利用typeof()来得到其变量的类型。
innerText.和innerHTML的区别
这个就是
Eg:往table中添加内容。
下面的dict格式是json的格式,也是一种键值对的形式。
<title></title> <script type="text/javascript"> var dict = { '百度': 'http://www.baidu.com', '京东': 'http://www.jd.com', '淘宝': 'http://www.taobao.com', }; window.onload = function() { document.getElementById('btn').onclick = function() { var table = document.createElement('table'); table.border = '1'; table.backgroundColor = 'red'; for (var key in dict) { var tr = document.createElement('tr'); var td1 = document.createElement('td'); td1.innerHTML = key; var td2 = document.createElement('td'); td2.innerHTML = '<a href="' + dict[key] + '">' + key + '</a>'; tr.appendChild(td1); tr.appendChild(td2); table.appendChild(tr); } document.body.appendChild(table); }; }; </script>
Js操作样式
注意:
修改元素的样式不是设置class属性,而是className属性。class是js中的一个保留字,属性不能使用关键字,保留字就变为了classname。
使用方式,属性名.style,注意这里的属性名可能和css中的名字不一样,我们要注意区分。
<script type="text/javascript"> window.onload = function() { document.getElementById('btn').onclick = function() { var div = document.getElementById('div').style; div.backgroundColor = 'red'; div.border = '1px solid blue'; div.width = '200px'; div.height = '400px'; div.fontFamily = '楷体'; div.styleFloat = 'right'; }; document.getElementById('btn1').onclick = function() { document.getElementById('div').style.display = 'none'; }; }; </script>