showBtn

:class="{getInput:showBtn}"
v-if="showBtn"

showBtn: true,

this.showBtn = false;

this.showBtn == true

JSON.parse('{"p": 5}', function(k, v) {
document.write(k);document.write(v);
});

js button 图片的动态替换
<Button size="small" type="ghost" @click="save" >
<span @mouseleave="leavesx" @mouseenter="entersx">
<img name="test" src="../../../../../../../static/img/anchor.png">新增
</span>
</Button>
leavesx(it) {
console.log(it);
console.log(document.getElementsByName("test")[0]);
document.getElementsByName("test")[0].setAttribute("src", "../../../../../../../static/img/jiantou.png");
},
entersx(it) {
console.log(it);
// debugger
document.getElementsByName("test")[0].style.color = "blue";
},
font-size: 16px;
vertical-align: top;
margin-right: 4px;

//prompt 弹框 截取 substr 后十位
var str = prompt("please input a string ", "1234567890");
my_label: {
if (str && str.length < 10) {
console.log(my_label);
break my_label; //!!!! break 后跟label my_label
}
str = str.substr(str.length - 10);
console.log(str);
}

屏蔽web自带鼠标右键
document.oncontextmenu = function () {
return false;
}

DOM方法
createElement()/createTextNode()/appendChild()/inertBefore

innerHTML() 全部内容的替换

createElement() 创建一个新的元素,创建元素节点
var para = document.createElement("p");
变量para现在包含着一个指向我们刚创建出来的那个p元素的引用指针。
p 已经有了一个nodeType 和 nodeName 值。
window.onload = function () {
var para = document.createElement("p");
var info = "nodeName:";
info += para.nodeName;
info += "nodeType:";
info += para.nodeType;
alert(info);

//创建的p插入已有的div
var div1 = document.getElementById("divid");
div1.appendChild(para);
}
createTextNode 创建文本节点
一个div里拼入
var demos = document.getElementById("demo");
var para = document.createElement("p");
var txt = document.createTextNode("nihao");
demos.appendChild(para);
para.appendChild(txt);

insertBefore()方法的优势在于可以对文档中任何一个元素的任何一个属性修改。把一个新元素插入到现有元素的前面
1>想插入的新元素(newElement)
2>想把这个新元素插入到哪个现有元素(targerElement)的前面
3>这两个元素的共同父元素(parentElement)
parentElement.insertBefore(newElement,targerElement);
(parentElement 不必清楚是谁,同于 target.parentNode )

insertAfter(newElement,targerElement)//before 相反

多个事件添加到window.onload 用addLoadEvent().

移除元素
var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.removeChild(child);

页面加载完毕时执行函数
function addLoadEvent(func){
var oldonload = window.onload;
if(typeof window.onload != 'function'){
window.onload = func;
}else{
window.onload = function(){
oldonload();
func();
}
}
}
addLoadEvent(firstFunction);//只需如此添加就能在页面加载完之后执行
addLoadEvent(secondFunction);

// --
window.onload = firstFunction();
window.onload = secondFunction();//两个onload只有最后一个会执行
so : window.onload = funtion(
firstFunction();
secondFunction();
)

多个链接 点击某一个
javaScript 与 HTML代码分离时,加上 window.onload = fun;
functon fun(){//嵌套以下代码}
if(!document.getElementByTagName){
return false;} //向后兼容性(不支持javaScript时不执行之后的代码)
var links = document.getElementByTagName("a");
for(var i - 0;i<links.length;i++){
if(link[i].className == "popup"){
link[i].onclick = function(){
popUp(this.getAttribute("href"));
return false;
}
}
}

预留退路
不规范示例:
<a href="#" onClick="popUp("http://www.baidu.com/");return false;">eg</a>
规范示例:
(用户禁用javaScript)
eg:
<a href="http://www.baidu.com/" onClick="popUp(this.getAttribute('href'));return false;">eg</a>
or<!-- onClick="popUp(this.href); -->

BOM
window.open(url,"name","width=320;height=480")//打开文档url地址,新窗口名称,新窗口的各种属性

JavaScript 停留在面向过程的层次上(脚本语言)

node.childNodes[0] node.firstChild //两者完全等价

DOM
Document Object Model
setAttribute()方法的优势在于可以对文档中任何一个元素的任何一个属性修改。

js数组 取元素和索引
arrs.forEach(item,index,arr) {
arr[index] = ....;
}

getElementByTagName //获取的是一个数组
//查询对象属性
object.getAttribute(attributeName);

JS用例的更多相关文章

  1. 详解回调函数——以JS为例解读异步、回调和EventLoop

      回调,是非常基本的概念,尤其在现今NodeJS诞生与蓬勃发展中变得更加被人们重视.很多朋友学NodeJS,学很久一直摸不着门道,觉得最后在用Express写Web程序,有这样的感觉只能说明没有学懂 ...

  2. Highcharts error #16: www.highcharts.com/errors/16 js 单例

    一.问题项目某一个页面用的highcharts用来显示一张图表,第一次刷新正常,第二次就出来这个错.1二.解决问题过程在网上找了很多同样是这个错误的解决方案. 第一:加载了highstock.js然后 ...

  3. C# JS 单例

    单例模式的三个特点: 1,该类只有一个实例 2,该类自行创建该实例(在该类内部创建自身的实例对象) 3,向整个系统公开这个实例接口 模式1: class Singleton { //私有,静态的类自身 ...

  4. JS单例设计模式

     单例,指的是只有一个实例的对象.    在应用单例模式时,生成单例的类必须保证只有一个实例的存在,很多时候整个系统只需要拥有一个全局对象,才有利于协调系统整体的行为.比如在整个系统的配置文件中,配置 ...

  5. 前端框架本质之探究——以Vue.js为例

    问:我们在使用Vue时,实际上干了什么?   答:实际上只干了一件事——new了一个Vue对象.后面的事,都交由这个对象自动去做.就好像按了下开关,机器跑起来了,剩下的事就不用我们再操心了.   各位 ...

  6. 外部引入的js 判断js脚本加载是否完成,完成后执行 相应的动作(以引入百度地图js为例)

    可以使用JQuery的 $.getScript(url,function(){});方法 $.getScript("http://api.map.baidu.com/getscript?v= ...

  7. EazyUI主页框架搭建纯JS样例

    採用Jfinal+EazyUI  执行起来就好能够了 眼下还未增加后台代码  纯JS代码搭建的一个二级菜单+主页 客户换肤, 给使用EazyUI的新人一个高速可用的JS 搭建界面 也给自己保存下 界面 ...

  8. 单核、多线程与时间片,以Node.js为例

    去年写了篇文章<线程与进程的理解>,当时认为线程和CPU的单核多核无关,操作系统可以有很多个线程.但今天看<深入浅出Node.js>一书时,多次提到单线程无法利用多核CPU一类 ...

  9. JS单例对象与构造函数对象的区别

    JavaScript对象有几种: 内置对象如Global,Math对象等等. 本地对象如Object.Function.Array.String.Boolean.Number.Date.RegExp. ...

随机推荐

  1. ROS常见问题(三) 报错are you sure it is properly registered and that the containing library is built?

    报错: [FATAL] [1576042404.913706482]: Failed to create the global_planner/GlobalPlanner planner, are y ...

  2. cf 763A. Timofey and a tree

    呵呵呵,直接判断是不是一个点连起来所有的特殊边(连接2不同颜色的点的边) (一开始还想各种各样奇怪的dfs...垃圾) #include<bits/stdc++.h> #define LL ...

  3. 076-PHP数组修改元素值

    <?php $arr=array(98,'hello',67,'A',85,NULL); //定义一个数组 echo '输出数组修改元素之前的详细信息:<br />'; print_ ...

  4. 【剑指Offer】面试题03. 数组中重复的数字

    题目 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意 ...

  5. python -- 犯过的错之变量作用域

    1.写代码时发现取得变量值,会被覆盖,改为图二的写法后case_id则不会覆盖. 原因:可以理解为变量是内存中一个对象的“引用”.在函数参数传值时,变量也是内存对象的引用. 当对象为可更改对象时,是引 ...

  6. jmeter --- 压测时,如何让串联压测多个接口

    1.新建测试计划,在测试计划里勾选“独立运行每个线程组” 2.分别在每个线程组,添加聚合报告,以得到每个线程组的压测结果 3.设置不同接口压测的vu等,并为每个线程组,设置合理的启动延迟时间

  7. log4j的配置学习

    我的 log4j.properties: # Set root category priority to INFO and its only appender to CONSOLE. #log4j.r ...

  8. POJ - 2253 Frogger(最短路Dijkstra or flod)

    题意:要从起点的石头跳到终点的石头,设The frog distance为从起点到终点的某一路径中两点间距离的最大值,问在从起点到终点的所有路径中The frog distance的最小值为多少. 分 ...

  9. 【shell】常用shell脚本

    1.检查主机存活状态 #!/bin/bash IP_LIST="192.168.18.1 192.168.1.1 192.168.18.2" for IP in $IP_LIST; ...

  10. java切换jdk版本

    目的:将jdk1.7切换为jdk1.6 1.原本安装了jdk1.7,环境变量也是配置的1.7相关路径,在cmd下输入[java -version]后,显示 [ C:\Users\Administrat ...