demo1:修改页面元素

全选反选,并计算总价

<!DOCTYPE html>
<html lang="en" dir="ltr"><head><meta charset="utf-8"><title></title><script type="text/javascript">function allCheck(all){var allChecks=document.querySelectorAll("#all_pro_div>input");console.log("checkboxNum:%d",allChecks.length);for(var i=0;i<allChecks.length;i++){allChecks[i].checked=all.checked;}}function sumPrice(){var allChecks=document.querySelectorAll("#all_pro_div>input:checked");console.log("checkboxNum:%d",allChecks.length);var sum=0;for(var i=0;i<allChecks.length;i++){sum+=parseInt(allChecks[i].value);}// var sumSpan=document.querySelector("#sum_price_span");document.querySelector("#sum_price_span").innerText=sum+"元";}</script></head><body><input type="checkbox" id="allCheck" name="all" onclick="allCheck(this);sumPrice();">全选<div id="all_pro_div"><input type="checkbox"  name="all" value="1">1<br/><input type="checkbox"  name="all" value="2">2<br/></div>总价:<span id="sum_price_span"></span></body>
</html>

demo2:增添删除页面元素

城市联动多选框

<!DOCTYPE html>
<html lang="en" dir="ltr"><head><meta charset="utf-8"><title></title><script type="text/javascript">function addValue(){var city=[["顺义","海淀","朝阳","东城"],["石家庄","唐山","廊坊","保定"]];var left=document.querySelector("#left");var right=document.querySelector("#right");var options=left.querySelectorAll("option");var cityOptions=right.querySelectorAll("option");for(var i=0;i<cityOptions.length;i++){right.removeChild(cityOptions[i]);}console.log("optionsNum:%d",options.length);for(var i=0;i<options.length;i++){if(options[i].selected){var pv=parseInt(options[i].value);for(var j=0;j<4;j++){var newOp=document.createElement("option");newOp.innerText=city[pv][j];right.appendChild(newOp);}}}}</script></head><body><select id="left" multiple><option value="0">北京</option><option value="1">河北</option></select><input type="button" value="-->" onclick="addValue();"><select id="right" multiple></select></body>
</html>

debug过程:

标签

表单

<input type="checkbox"

<input type="button">button的value属性才显示

滑动/下拉列表

<select multiple>

<option value="1">牛奶</option>

</select>

Multiple为展开的列表

选项选中属性option.selected

选择器

整个文件则document.querySelectorAll("");

已找到上层对象可left.querySelectorAll

Id# class. 标签无

层次>,伪类:

取input的值allChecked[i].value

#all_pro_div > input:checked

InnerText为标签属性,非方法

document.querySelector("#sum_price_span").innerText=

层次选择器

E > F 子选择器

属性选择器

伪类:

CSS 伪类用于向某些选择器添加特殊的效果

锚伪类

所有CSS伪类/元素

http://www.runoob.com/css/css-pseudo-classes.html

在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访问状态,和鼠标悬停状态。

a:link {color: #FF0000}               /* 未访问的链接 */
a:visited {color: #00FF00}    /* 已访问的链接 */
a:hover {color: #FF00FF}      /* 鼠标移动到链接上 */
a:active {color: #0000FF}

属性

描述

CSS

:active

向被激活的元素添加样式。

1

:focus

向拥有键盘输入焦点的元素添加样式。

2

:hover

当鼠标悬浮在元素上方时,向元素添加样式。

1

:link

向未被访问的链接添加样式。

1

:visited

向已被访问的链接添加样式。

1

:first-child

向元素的第一个子元素添加样式。

2

:lang

向带有指定 lang 属性的元素添加样式。

 

动态创建元素

function addDiv() {

// 创建一个新的div

// createElement中传入要创建的页面元素的标签名称

var newDiv = document.createElement("div");

// 添加这个div的属性和内容

newDiv.style.border = "1px solid green" ;

newDiv.style.width = "400px";

newDiv.innerText = "新创建的div" ;

// 把创建好的div放入到某个页面元素中

// 取得all_div

var allDiv = document.querySelector("#all_div");

allDiv.appendChild(newDiv);

}

声明二维数组

var Array = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]]

打印调试信息

console.log("**:%d",**);

前端笔记1(选择器,动态增添/修改页面元素)相关推荐

  1. jQuery修改页面元素的属性

    作为一个后台开发者,在web开发的时候会常常遇到修改前台页面的属性的问题.这两天我发现jQuery的$("#id").attr("prop","值&q ...

  2. CSS笔记二-选择器、背景相关属性、元素显示模式、CSS三大特性、chrome调试工具、PXcook使用

    一.复合选择器 1.后代选择器 根据HTML标签的嵌套关系,选择父元素后代中满足条件的子元素: 选择器语法:选择器1 选择器2 {css} 结果:在选择器1中所找到标签的后代(儿子.孙子.重孙子... ...

  3. 前端笔记-vue中使用router进行页面跳转及除掉url中的#

    目录 演示 代码 演示 运行截图如下: 点击后,url跳转如下: 代码 页面跳转的关键 程序结构如下: aaa.vue <template><div>我是aaa<butt ...

  4. js动态添加修改删除元素

    事件委托:e.target 核心:1.通过事件冒泡给子元素添加事件,控制新生成的元素进行操作 2.减少DOM元素操作,只需要绑定一个父元素就可以,不用循环遍历每一个子元素进行绑定事件操作,提高程序性能 ...

  5. selenium自动化测试中js修改页面元素的readonly属性

    from time import sleepfrom selenium import webdriver from selenium.webdriver import Keys from seleni ...

  6. 【selenium学习笔记一】python + selenium定位页面元素的办法。

    1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...

  7. JavaScript 使用js修改页面元素

    博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,

  8. 对Web页面元素的绝对唯一引用方法

    我们知道要在Web页面中引用一个HTML元素,最简单的方法就是使用getElementById方法,或其类似的一组getElementsByXxx方法.可是这里需要注意的是,这些方法其实都不能完全绝对 ...

  9. [前端笔记——CSS] 10.层叠与继承+选择器

    [前端笔记--CSS] 10.层叠与继承+选择器 1.层叠与继承 1.1 冲突规则 1.2 继承 1.3 层叠 1.4 CSS位置的影响 2.选择器 2.1 选择器是什么? 2.2 选择器列表 2.3 ...

最新文章

  1. The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone
  2. spring-boot注解详解(五)
  3. Lawn of the Dead
  4. MySQL日期时间函数大全(转)
  5. url传参(中文乱码)值得注意的地方
  6. load average多少是正常_从阿里大促中,我理出的CPU与Load异常排查思路
  7. python管道_python 多进程之管道实例(模板)
  8. Spring AOP 实现用户权限验证
  9. Java 实现区块链中的区块,BLOCK的实现
  10. Des加密后传参被特殊字符(如+)截断
  11. Android Studio打开项目提示找不到sdk路径的问题。
  12. 镜像miracast投屏软件_miracast投屏下载
  13. TI DSP 5502定时器使用
  14. 2020年美国新冠肺炎疫情数据分析
  15. 如何理解庄子所说的“吾生也有涯,而知也无涯。以有涯随无涯,殆己”?
  16. comsol如何定义狄利克雷边界_在变分问题中指定边界条件和约束
  17. 《我也能做CTO之程序员职业规划》之十六:逆商
  18. msm8953 LK通过cmdline向Kernel传递LCD参数过程分析
  19. BZOJ 4809: 皇后
  20. 单片机中的定时器计算

热门文章

  1. ajax提交表单序列化不进请求,表单序列化+ajax跨域提交
  2. STM32F100X RCC_APB2Periph_AFIO--复用IO时钟的使用
  3. 自己写的PDF转JPG的程序
  4. 随机梯度下降法,批量梯度下降法和小批量梯度下降法以及代码实现
  5. python画双坐标图_Python双Y轴可视化
  6. Vue指令之列表渲染
  7. CH32F103芯片评估-GPIO
  8. 二叉树的层次遍历 II - LeetCode
  9. 如何实现上传多个图片并依次展示_在一张PowerPoint中插入多张图片如何让这些图片能依次播放...
  10. 将平板电脑作为电脑显示器_平板电脑与智能显示器的比较