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>