JS用例
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用例的更多相关文章
- 详解回调函数——以JS为例解读异步、回调和EventLoop
回调,是非常基本的概念,尤其在现今NodeJS诞生与蓬勃发展中变得更加被人们重视.很多朋友学NodeJS,学很久一直摸不着门道,觉得最后在用Express写Web程序,有这样的感觉只能说明没有学懂 ...
- Highcharts error #16: www.highcharts.com/errors/16 js 单例
一.问题项目某一个页面用的highcharts用来显示一张图表,第一次刷新正常,第二次就出来这个错.1二.解决问题过程在网上找了很多同样是这个错误的解决方案. 第一:加载了highstock.js然后 ...
- C# JS 单例
单例模式的三个特点: 1,该类只有一个实例 2,该类自行创建该实例(在该类内部创建自身的实例对象) 3,向整个系统公开这个实例接口 模式1: class Singleton { //私有,静态的类自身 ...
- JS单例设计模式
单例,指的是只有一个实例的对象. 在应用单例模式时,生成单例的类必须保证只有一个实例的存在,很多时候整个系统只需要拥有一个全局对象,才有利于协调系统整体的行为.比如在整个系统的配置文件中,配置 ...
- 前端框架本质之探究——以Vue.js为例
问:我们在使用Vue时,实际上干了什么? 答:实际上只干了一件事——new了一个Vue对象.后面的事,都交由这个对象自动去做.就好像按了下开关,机器跑起来了,剩下的事就不用我们再操心了. 各位 ...
- 外部引入的js 判断js脚本加载是否完成,完成后执行 相应的动作(以引入百度地图js为例)
可以使用JQuery的 $.getScript(url,function(){});方法 $.getScript("http://api.map.baidu.com/getscript?v= ...
- EazyUI主页框架搭建纯JS样例
採用Jfinal+EazyUI 执行起来就好能够了 眼下还未增加后台代码 纯JS代码搭建的一个二级菜单+主页 客户换肤, 给使用EazyUI的新人一个高速可用的JS 搭建界面 也给自己保存下 界面 ...
- 单核、多线程与时间片,以Node.js为例
去年写了篇文章<线程与进程的理解>,当时认为线程和CPU的单核多核无关,操作系统可以有很多个线程.但今天看<深入浅出Node.js>一书时,多次提到单线程无法利用多核CPU一类 ...
- JS单例对象与构造函数对象的区别
JavaScript对象有几种: 内置对象如Global,Math对象等等. 本地对象如Object.Function.Array.String.Boolean.Number.Date.RegExp. ...
随机推荐
- netty权威指南学习笔记一——NIO入门(2)伪异步IO
在上一节我们介绍了四种IO相关编程的各个特点,并通过代码进行复习了传统的网络编程代码,伪异步主要是引用了线程池,对BIO中服务端进行了相应的改造优化,线程池的引入,使得我们在应对大量客户端请求的时候不 ...
- 【LeetCode】课程表 II
[问题]现在你总共有 n 门课需要选,记为 0 到 n-1.在选修某些课程之前需要一些先修课程.例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及 ...
- 干货分享:如何搞定Essay Paragraph部分?
想要写出一篇高质量的留学生作业,首先要从写好段落(paragraph)开始.那么今天就随小编一起来看看,如何写好Paragraph部分? 段落:在英文中我们俗称为paragraph,而一篇英文文章通常 ...
- 201771010142-张燕 实验一 软件工程准备—<软件工程的初步了解和学习目标>
实验一 软件工程准备 项目 内容 软件工程 https://www.cnblogs.com/nwnu-daizh/ 软件工程准备要求 https://www.cnblogs.com/nwnu-daiz ...
- 小程序分享H5页面
1.在要分享的按钮上写一个跳转 <navigator url="../invite1/invite1"> <button class="invite_b ...
- POJ 3984:迷宫问题 bfs+递归输出路径
迷宫问题 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11844 Accepted: 7094 Description ...
- 目标检测评价标准(mAP, 精准度(Precision), 召回率(Recall), 准确率(Accuracy),交除并(IoU))
1. TP , FP , TN , FN定义 TP(True Positive)是正样本预测为正样本的数量,即与Ground truth区域的IoU>=threshold的预测框 FP(Fals ...
- JS照片轮换
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 十九、CI框架之数据库操作delete用法
一.代码如下: 二.执行f访问 三.查看数据库,已经id=15的数据已经被删掉了 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦, ...
- mini2440 裸机程序,下载到nand 里面,复制到 sdram 中不运行
按照韦东山的视频中 sdram的裸机代码,写了一份,通过 minitools 下载到 0x30000000,然后烧录到 nand中,接过不能正常运行. 尝试过多种方法后,只有一种解决方法,就是不要用 ...