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:按钮实现里面内容变化

  1. <script type="text/javascript">
  2.     window.onload = function() {
  3.         var inputs = document.getElementsByTagName('input');
  4.         for (var i = 0; i < inputs.length; i++) {
  5.             inputs[i].onclick = function () {
  6.                 for (var c = 0; c < inputs.length; c++) {
  7.                     if(inputs[c].type=="button") {
  8.                         inputs[c].value = '哈哈哈';
  9.                     }
  10.                 }
  11.                 this.value = '呜呜';
  12.             };
  13.         }
  14.     };
  15. </script>

Eg:利用计时器实现使用说明的等待时间。

  1. <script type="text/javascript">
  2.     window.onload = function () {
  3.         var ss = 4;
  4.         //这里启动计时器
  5.            var time=setInterval(function() {
  6.                var sa = document.getElementById('btn1');
  7.                if (ss > 0) {
  8.                    sa.value = '请稍等几分钟' + ss + '';
  9.                    ss--;
  10.                } else {
  11.                    sa.value = '同意';
  12.                    sa.disabled = false;
  13.                    clearInterval(time);
  14.                }
  15.            }, 1000);
  16.     };
  17. </script>

àdocument.createElement('标签名');

  1. <script type="text/javascript">
  2.     window.onload = function() {
  3.         document.getElementById('btn').onclick = function() {
  4.             var alink = document.createElement('a'); //动态创建元素
  5.             alink.href = 'http://www.baidu.com';
  6.             alink.target = '_black';
  7.             alink.innerText = '百度';
  8.             document.getElementById('div1').appendChild(alink); //将其添加到div中.
  9.  
  10.             var btton = document.createElement('input');
  11.             btton.type = 'text';
  12.             document.getElementById('div1').appendChild(btton);
  13.         };
  14.     };
  15. </script>

删除层中元素

  1. document.getElementById('btn1').onclick = function() {
  2.     var sss = document.getElementById('div1');
  3.     while (sss.firstChild) {
  4.         sss.removeChild(sss.firstChild);
  5.     }
  6. };

***:在程序中需要判断类型,我们可以利用typeof()来得到其变量的类型。

innerText.和innerHTML的区别

这个就是

Eg:往table中添加内容。

下面的dict格式是json的格式,也是一种键值对的形式。

  1. <title></title>
  2. <script type="text/javascript">
  3.     var dict = {
  4.         '百度': 'http://www.baidu.com',
  5.         '京东': 'http://www.jd.com',
  6.         '淘宝': 'http://www.taobao.com',
  7.     };
  8.     window.onload = function() {
  9.         document.getElementById('btn').onclick = function() {
  10.             var table = document.createElement('table');
  11.             table.border = '1';
  12.             table.backgroundColor = 'red';
  13.             for (var key in dict) {
  14.                 var tr = document.createElement('tr');
  15.                 var td1 = document.createElement('td');
  16.                 td1.innerHTML = key;
  17.                 var td2 = document.createElement('td');
  18.                 td2.innerHTML = '<a href="' + dict[key] + '">' + key + '</a>';
  19.                 tr.appendChild(td1);
  20.                 tr.appendChild(td2);
  21.                 table.appendChild(tr);
  22.             }
  23.             document.body.appendChild(table);
  24.         };
  25.     };
  26. </script>

Js操作样式

注意:

修改元素的样式不是设置class属性,而是className属性。class是js中的一个保留字,属性不能使用关键字,保留字就变为了classname。

使用方式,属性名.style,注意这里的属性名可能和css中的名字不一样,我们要注意区分。

  1. <script type="text/javascript">
  2.     window.onload = function() {
  3.         document.getElementById('btn').onclick = function() {
  4.             var div = document.getElementById('div').style;
  5.             div.backgroundColor = 'red';
  6.             div.border = '1px solid blue';
  7.             div.width = '200px';
  8.             div.height = '400px';
  9.             div.fontFamily = '楷体';
  10.             div.styleFloat = 'right';
  11.         };
  12.         document.getElementById('btn1').onclick = function() {
  13.             document.getElementById('div').style.display = 'none';
  14.         };
  15.     };
  16. </script>

JavaScript基础插曲—获取标签,插入元素,操作样式的更多相关文章

  1. JavaScript基础插曲—元素样式,正则表达式,全局模式,提取数组

    JavaScript基础学习 学习js的基础很重要,可以让自己有更多的技能.我相信这个以后就会用到. Eg:点击选择框,在div中显示出选择的数量 window.onload = function() ...

  2. JavaScript基础插曲-练习

    Javascript基础学习 eg:利用正则表达式来去掉空格. 1:msg=' Hello ': <script type="text/javascript">     ...

  3. JavaScript基础—插曲

    Javascript基础 1:js中我们最好使用单引号,其实可以使用双引号的但是为了区别所以js中全部使用单引号.注释和C#的是一样的.网页里面的执行顺序是从上到下依次执行的,不管你js放到哪里,都会 ...

  4. javascript中DOM获取和设置元素的内容、样式及效果

    getElementById() 根据id获取dom元素 没有找到则返会Null <!DOCTYPE html> <html lang="en"> < ...

  5. JavaScript基础插曲---apply,call和URL编码等方法

    Js基础学习 Js的压缩: 就是利用js的语法格式通过缩短变量名,去掉空格等来进行压缩. Apply和call的使用 1:apply方法:应用某一对象的方法,用于一个对象替换当前对象.主要是改变thi ...

  6. JavaScript通过id获取不到元素是什么原因阿?

    s代码 JavaScript code   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 function show_more_mess() {     $(&qu ...

  7. JavaScript基础—插曲02

    Js学习基础 1:关于js中的数组 这里面可以是键值对的形式来存储的,我们必须利用forIn来输出,这就相当于foreach一样. var dir = new Array(); dir['0'] = ...

  8. <javaScript>通过getElementsByTagName获取标签的class值

    console.log(p[1].id); console.log(p.item(1).id); console.log(p[2].getAttribute("class")); ...

  9. C++ 关联容器之map插入相同键元素与查找元素操作

    一.插入相同键元素操作 (1)insert方法 在map中的键必须是唯一的,当想map中连续插入键相同但值不同的元素时,编译和运行时都不会发生任何错误,系统会忽略后面的对已存在的键的插入操作,如 ma ...

随机推荐

  1. 简述Python模块和包

    我们常常会使用别人写的包,假如我们使用的是Python3.4版本,安装在windows的C盘根目录下,那么外部的包一般放在:C:\Python34\Lib\sit-packages下,此目录下有以.p ...

  2. Linux grep总结(转)

    源自:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html 1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表 ...

  3. 题目一:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

  4. Atitit 作用域的理解attilax总结

    Atitit 作用域的理解attilax总结 1.1. 作用域是指对某一变量和方法具有访问权限的代码空间, 1 1.2. 作用域的使用提高了程序逻辑的局部性,增强程序的可靠性,减少名字冲突.1 1.3 ...

  5. ToString()的各种用法(大全)

    常用例子: string str = ""; str = .ToString("N"); //生成 12,3456.00 str = .ToString(&qu ...

  6. HashMap和Hashtable的区别 源码分析

    一:以前只知道HashMap和HashTable区别,死记硬背的记住HashMap 允许key value为空 而Hashtable 不允许为空 HashMap线程是非线程安全的,而Hashtable ...

  7. How Google TestsSoftware - Part Five

    Instead of distinguishingbetween code, integration and system testing, Google uses the language ofsm ...

  8. 记一次裸迁 MySQL 经历

    记一次裸迁MySQL经历 前言:博主企业有一台企业阿里云机器,因为安装了云锁,造成服务器动不动就给我所死服务器.(就是那种 chattr +i /bin/bash ,分分钟日死狗 )趁着周末,Boos ...

  9. SSIS Send Mail

    在SSIS中Send Mail的方法主要有三种,使用Send Mail Task,使用Script Task和使用存储过程msdb.dbo.sp_send_dbmail. 一,使用Send Mail ...

  10. php的几种运行模式CLI、CGI、FastCGI、mod_php

    1.CLI:就是命令行,例如可以在控制台或者是shell中键入命令: php -f index.php 然后获取输出 2.CGI:以下是不同的说法与理解 公共网关接口”(Common Gateway  ...