一. 通过JS动态的修改HTML元素的样式
 
1. 要想在js中动态的修改HTML元素的样式,首先需要写document,
   document我们称之为文档对象,这个对象中保存了当前网页中所有的HTML标签
  代码写法如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>51-自定义原型对象</title>
</head>
<body>
<div class="box" id="father">123</div>
<div class="box" id="son">456</div>
<script>
console.log(document); </body>
</html>

2.上面的代码执行后,可以在浏览器控制台console里发现document文档对象如下图:

3.展开document文档对象,我们可以发现包含了当前网页中所有的HTML标签.如下图:

二. 在<script>标签里定义对象,
 把document.querySelector("#son"); 赋值给div ; 格式:   div=document.querySelector("需要选择的标签名称");
 也就是说在document文档对象后写querySelector来选择一个id叫做son 的 div盒子 赋给变量div
 选择了id选择器后,便可以对这个ID对应 的<div>盒子修改它的样式
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>51-自定义原型对象</title>
</head>
<body>
<div class="box" id="father">123</div>
<div class="box" id="son">456</div>
<script>
//1.通过js代码动态的找到HTML标签
//document我们称之为文档对象,这个对象中保存了当前网页中所有的HTML标签
//2.如何通过JS动态的修改HTML元素的样式
var div=document.querySelector("#son");
console.log(div);
div.style.width="200px";
div.style.height="200px";
div.style.backgroundColor="red";
div.style.borderRadius="50%";
</script>
</body>
</html>
 
三.如何动图的创建一个HTML元素,
方法基本如上,
只是document后的querySelector改为createElement. 
//如何动态的创建一个HTML元素
//格式: document. createElement. ("标签的名称")
var div=document. createElement. ("div")
var div=document. createElement. ("p")
var div=document. createElement. ("span")
 
四.如何动态创建的元素添加到另一个元素中
    1. 比如需要在<div>盒子标签里创建<p>标签
 
   1.1 首先选择需要创建元素或者标签的标签div, 然后在调用赋值给对象div.
        格式:  var div=document.querySelector("div");
 
   1.2  然后创建p标签,并赋值给对象p
        格式: var p=document.createElement("p");
 
   1.3 然后把创建的<p>标签传入到调用的元素<div>标签里.
        格式: 元素对象.appendChild(元素对象)
        代码:  div. appendChild(p);
 代码如下所示:

var div=document.querySelector("div");
var p=document.createElement("p");
div. appendChild(p);
 
五.如何删除一个指定元素或标签
代码如下:
// 如何删除一个指定元素
var div=document.querySelector("div>a");
console.log(a) ; // 通过访问一个元素对象的parentElement, 可以找到当前元素对象的父元素(父节点)
console.log(a. parentElement) ; //通过一个元素的父元素调用removeChild方法, 就可以讲该父元素中指定的子元素删除
a. parentElement. removeChild(a) ;
六. 在js中如何不断的重复执行某一段代码?
 1.方法一:
    代码如下图:
    注释:  图中代码里的seInterval(test, 1000);括号里的第一个参数test参数是被执行的函数test;
    第二个参数是毫秒,也就是需要隔多少时间执行一次.
//在js中如何不断的重复执行某一段代码 ?
function test(){
console.log ("test")
} //每隔多少毫秒执行一次第一个参数(test函数)
setInterval(test, 1000) ;
2.方法二:
在企业开发中常用的方法: 给seInterval传一个匿名函数,然后每隔1000毫秒执行一下匿名函数,
代码如下:
var nm=1 ;

function test(){
console.log ("test")
} setInterval(function (){
console.log ("test", num) ;
num++ ;
}, 1000) ;
//每执行一次匿名函数的代码块,就执行增量表达式num++.
 
 

通过JS动态的修改HTML元素的样式和增添标签元素等的更多相关文章

  1. JS动态添加Easyui的HTML时样式丢失

    解决办法: $.parser.parse($("#creatLi").html(<li>xxxxxx</li>)); ------------------- ...

  2. js动态加载HTML元素时出现的无效的点击事件

    项目中列表数据中隐藏着详情数据, 图一: 详情数据是:根据当前行的数据作为参数,通过ajax请求到后台返回的数据,再根据返回的结果动态生成HTML页面 图二: js文件中的这些js的点击事件无效: j ...

  3. html标签元素分类

    元素分类 html中的标签元素大体分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1>...&l ...

  4. JS动态生成的元素,其对应的方法不响应(比如单击事件,鼠标移动事件等)

    主要原因:在页面给元素注册点击事件的时候[ $(function () {  XXX }); ],JS动态生成的元素还尚未生成,所以click事件就没有生效 解决方法: 方案一:js动态生成元素后再给 ...

  5. form表单 无法提交js动态添加的表单元素问题。。

    第一种情况, 这种情况js动态添加的表单元素是不能提交到服务器端的 <table> <form method="post" action=" url   ...

  6. 2)JS动态生成HTML元素的爬取

    2)JS动态生成HTML元素的爬取 import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.W ...

  7. 微信小程序 JS动态修改样式

    微信小程序这个坑啊,js动态修改样式,我们并不能用js或者jq 轻轻松松一行代码搞定.或者用removeClass addClass 来修改样式. 以下是一种动态修改样式的方法,原理是绑定数据,然后动 ...

  8. jquery on() bind()绑定的点击事件在js动态新添加的元素生效

    方法一:$('.class').on("click",function(){……}); 相当于 $('.class').bind("click",functio ...

  9. JS动态修改微信浏览器中的title

    JS动态修改微信浏览器中的title我们的原理是设置一个ifame然后我们再加载一下就可以实现了,具体的例子如下所示. 平时使用JS修改title,直接document.title=新标题就好了 这样 ...

随机推荐

  1. 从mysql中拿到的数据构造为列表

    最近测试接口遇到一个问题,用python2.7从mysql中取到的数据是元祖类型的,元祖内部的元素也是一个元祖(并且部分元素的编码格式是unicode的): 类似这样: ((10144, u''), ...

  2. 《HelloGitHub》第 34 期

    公告 新年快乐!大家的年终奖都发了啥? <HelloGitHub>第 34 期 兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源 ...

  3. VSCode Python开发环境配置

    目录 准备工作 VSCode初步 用户界面 快捷键 安装扩展 配置文件与内置终端设置 高级调试配置 小结 参考 博客:blog.shinelee.me | 博客园 | CSDN 准备工作 安装anac ...

  4. 【转】javascript笔记之apply、call、bind用法

    原文地址:https://www.cnblogs.com/coco1s/p/4833199.html apply.call 在 javascript 中,call 和 apply 都是为了改变某个函数 ...

  5. Git 下载代码简单说明

    昨天看码云上有两个项目感觉很好, 可惜竟然不会Git 找了很久看了好多文档看他写的都好复杂啊! 在这我给写出来一点点 1.下载Git  https://git-scm.com/download/win ...

  6. 模块使用:time、datetime、calendar、sys、os、os.path、normcase和normapath、random、json、pickle

    ## time:时间 时间戳(timestamp):time.time() 延迟线程的运行:time.sleep(secs) (指定时间戳下的)当前时区时间:time.localtime([secs] ...

  7. springmvc重定向

    String success="07大吉大利25"; @RequestMapping("str") public String test1(){ return ...

  8. postgresql 添加uuid扩展

    去年用EF Core做数据迁移到psql数据库的时候遇到了缺失uuid的错误,当时帅气的脸蛋突然懵逼了.现记录一下 以备参考. 环境:Centos7.2  psql  Xshell Xshell连接C ...

  9. python的进程与线程(二)

    线程 之前了解了操作系统的发展史,也知道了进程和线程的概念,归纳一下就是:         进程:本质上就是一段程序的运行过程(抽象的概念)         线程:最小的执行单元,是进程的实体     ...

  10. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之二 || 后端项目搭建

    前言 至于为什么要搭建.Net Core 平台,这个网上的解释以及铺天盖地,想了想,还是感觉重要的一点,跨平台,嗯!没错,而且比.Net 更容易搭建,速度也更快,所有的包均有Nuget提供,不再像以前 ...