地址栏上的一段语句,改变页面的风格。(教程)


Posted in Javascript onApril 02, 2008

大家可以先把下面这段语句粘贴到地址栏,然后回车,看看效果。

javascript:with(document.body){background="";bgColor="#779966";text="#bb4400"};void(document.styleSheets[0].addRule("TD","border:1 solid black;background-color:#eef9ee!important"))

下面是解说:

1.javascript:url
伪url技术。它适用于所有包括href和src属性的标记:假如一个属性能接收url作为它的值,它就可以接收这个javascript:url ,地址栏相当于location.href,所以也不例外咯。:)

2.返回值
多数js语句会有返回值,这里我们并不需要返回值,以免它传递给href属性,使location.href起作用。
可以用alert这个不会产生返回值,但又会计算表达式的方法来达到我们的目的:把语句作为alert的参数,由alert来执行。
但是用alert会弹出计算的最终结果(即语句段最终的返回值),我们并不需要弹出框,只需要语句静静地执行,并且没有返回值。void运算符正是我们所需要的。

3.再谈返回值
在顺序执行的语句段中,如果每一句都有返回值,而某一个属性(比如href)只能接收一个返回值,它会接收哪一个返回值呢?答案是最后一个。因此,我们只需在最后一句加上void就行了。

4.with语句
with语句可以为用大括号括起来的一段语句段设定默认对象,以减少代码量。上面的with(document.body){background="";bgColor="#779966";text="#bb4400"}
即相当于:
document.body.background=""
document.body.bgColor="#779966"
document.body.text="#bb4400"

5.为已定义的样式表新增规则
document.styleSheets[0].addRule("TD","border:1 solid black")
上面这段语句给页面中的第一个样式表对象增加一个规则:让所有的表格单元带上一个象素宽的黑色实线边框。
styleSheets是页面上所有<style></style>和<link rel=stylesheet type=text/css href=***.css>元素的集合。styleSheets[0]是指第一个样式表元素。
addRule()方法用来给样式表对象插入规则。第一个参数是selector,第二个参数是对selector的定义。

6.样式表的!important属性
凡是具有!important属性的样式,在页面中具有优先权。举例:
<style>
p {color:red!important}
</style>
<p style="color:green">这里的文字是红色的。</p> 

好了,开头的那段语句就包括这些知识点,大家有没有在这基础之上的进一步的创新,让我学习学习?鼓励创新哦。:)

Javascript 相关文章推荐
js读写cookie实现一个底部广告浮层效果的两种方法
Dec 29 Javascript
js解析json读取List中的实体对象示例
Mar 11 Javascript
JS两种类型的表单提交方法实例分析
Nov 28 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
Mar 09 Javascript
js学使用setTimeout实现轮循动画
Jul 17 Javascript
详解html-webpack-plugin插件(用法总结)
Sep 12 Javascript
vue组件间的参数传递实例详解
Apr 26 Javascript
vue + typescript + 极验登录验证的实现方法
Jun 27 Javascript
浅入深出Vue之组件使用
Jul 11 Javascript
微信小程序的授权实现过程解析
Aug 02 Javascript
JavaScript canvas绘制渐变颜色的矩形
Feb 18 Javascript
JS如何实现基于websocket的多端桥接平台
May 14 Javascript
IE和Firefox在JavaScript应用中的兼容性探讨
Apr 01 #Javascript
JavaScript的面向对象方法以及差别
Mar 31 #Javascript
二行代码解决全部网页木马
Mar 28 #Javascript
通过 Dom 方法提高 innerHTML 性能
Mar 26 #Javascript
js用图作提交按钮或超连接
Mar 26 #Javascript
利用js对象弹出一个层
Mar 26 #Javascript
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
Mar 22 #Javascript
You might like
ThinkPHP之import方法实例详解
2014/06/20 PHP
PHP实现简易计算器功能
2020/08/28 PHP
PHP封装cURL工具类与应用示例
2019/07/01 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
Python调用C++程序的方法详解
2017/01/24 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
Python简单获取二维数组行列数的方法示例
2018/12/21 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
tensorflow查看ckpt各节点名称实例
2020/01/21 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
Python迭代器协议及for循环工作机制详解
2020/07/14 Python
CSS3中currentColor关键字的妙用
2016/02/27 HTML / CSS
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
J2EE中常用的名词进行解释
2015/11/09 面试题
生物科学专业职业规划书范文
2014/02/11 职场文书
简历中个人自我评价分享
2014/03/15 职场文书
党员承诺书内容
2014/03/26 职场文书
年度评优评先方案
2014/06/03 职场文书
大学生读书笔记大全
2015/07/01 职场文书
幼儿园毕业典礼园长致辞
2015/07/29 职场文书
大学体育课感想
2015/08/10 职场文书
初中班干部工作总结
2015/08/10 职场文书
上班旷工检讨书
2015/08/15 职场文书
初中美术教学反思
2016/02/17 职场文书
mysql分表之后如何平滑上线详解
2021/11/01 MySQL