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. 冲刺阶段 day 10

    项目进展 目前我们已经完成了系部管理,教师管理,班级管理,学生管理这四大部分代码的编写及数据库的搭建与连接.就差最后专业管理这一部分了. 存在问题 其实我们从开始这个项目到现在,最大的问题还是在代码编 ...

  2. java提高篇(二三)-----HashMap

    HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做一个整体来处理,系统会根据 ...

  3. 12小时包你学会基于ReactMix框架的ReactNativeApp开发(二)基于Css+HTML写第一个app页面

    上一篇文章,大家对于ReactMix(https://github.com/xueduany/react-mix)框架有了一个基本认识,知道我们是一个语法糖,帮助大家基于一套代码,所有平台都能跑.那么 ...

  4. CocoaPod问题

    CocoaPod问题 升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法 字数91 阅读10946 评论24 喜欢27 升级10.11后,运行 ...

  5. HTML+CSS学习笔记

    1,html里的实际有6个<hn>标记,从<h1>到<h6>,字体由大到小. 2,em标签表示斜体. 3,<p>标签是换一个段落,<br>标 ...

  6. C# Azure 存储-分布式缓存Redis的新建&配置&查看

    1. 介绍 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键包括 string,hash,l ...

  7. HTML学习入门

    HTML(元素.属性) HTML: 超文本标记语言   1. 超文本即为带有链接属性的文本  2.标记即为标签 一.body属性: bgcolor:页面背景颜色 text:文字颜色 backgroun ...

  8. rabbitmq消息队列——"topic型交换器"

    在之前的章节中我们改进了我们的日志系统,我们使用direct型交换器代替了只能盲目广播消息的fanout型交换器,这使得我们可以有选择性地接收日志. 尽管使用direct型交换器改进了我们的日志系统, ...

  9. WPF入门教程系列十四——依赖属性(四)

    六.依赖属性回调.验证及强制值 我们通过下面的这幅图,简单介绍一下WPF属性系统对依赖属性操作的基本步骤: 借用一个常见的图例,介绍一下WPF属性系统对依赖属性操作的基本步骤: 第一步,确定Base ...

  10. CKEditor与CKFinder整合 MVC3

    今天偶然看到一篇关于 CKEditor与CKFinder整合文章,心想有一段时间没有使用这种东西了.于是乎自己动手亲自体验了一下,本以为简单但在东西编写的过程发现了很多没有遇见毛病. 所以记录一下自己 ...