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. SQL SERVER 内存学习系列(二)-DMV查看内存信息

    内存管理在SQL Server中有一个三级结构.底部是内存节点,这是最低级的分配器,用于SQL Server的内存.第二个层次是由内存Clerk组成,这是用来访问内存节点和缓存存储,缓存存储则用于缓存 ...

  2. Java虚拟机12:Java内存模型

    什么是Java内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的访问差异,以实现让Java程序在各种平台下都能达到一致 ...

  3. Entity Framework 5.0系列之约定配置

    Code First之所以能够让开发人员以一种更加高效.灵活的方式进行数据操作有一个重要的原因在于它的约定配置.现在软件开发越来复杂,大家也都试图将软件设计的越来越灵活,很多内容我们都希望是可配置的, ...

  4. Unity3D热更新全书-脚本(二) 两级分化

    上篇明确了我们探讨的脚本是什么:是写在文本文件里面的代码,可以作为资源加载,取得字符串再执行. 可是为什么世界上会有那么多的脚本?而其使用方法完全看起来不一样呢?这是因为每种脚本都有自己的定位,在不同 ...

  5. C#并行编程-相关概念

    菜鸟初步学习,不对的地方请大神指教,参考<C#并行编程高级教程.pdf> 目录 C#并行编程-相关概念 C#并行编程-Parallel C#并行编程-Task C#并行编程-并发集合 C# ...

  6. fir.im Weekly - 从 iOS 10 SDK 新特性说起

    从 iOS 7 翻天覆地的全新设计,iOS 8 中 Size Classes 的出现,应用扩展,以及 Cloud Kit 的加入,iOS 9 的分屏多任务特性,今年的 WWDC iOS 10 SDK ...

  7. iOS开发——网络实用技术OC篇&网络爬虫-使用青花瓷抓取网络数据

    网络爬虫-使用青花瓷抓取网络数据 由于最近在研究网络爬虫相关技术,刚好看到一篇的的搬了过来! 望谅解..... 写本文的契机主要是前段时间有次用青花瓷抓包有一步忘了,在网上查了半天也没找到写的完整的教 ...

  8. js判断函数是否存在、判断是否为函数

    代码: <script type="text/javascript"> //判断是否为函数 try { if(typeof FunName === "func ...

  9. btn css

    .searchButtonBtn { border: 0; padding: 0 23px; height: 27px; line-height: 27px; cursor: pointer; bac ...

  10. git忽略以点开头的文件夹

    git忽略以点开头的文件夹 好像不是什么问题,可是我用的时候不好使,还是记录下 参考:http://www.oschina.net/question/1437985_2181276