前端补充
1.CSS display
语法:
p{
display: inline等值;
}
说明:
可能的值
值 | 描述 |
---|---|
none | 此元素不会被显示。 |
block | 此元素将显示为块级元素,此元素前后会带有换行符。 |
inline | 默认。此元素会被显示为内联元素,元素前后没有换行符。 |
inline-block | 行内块元素。(CSS2.1 新增的值) |
list-item | 此元素会作为列表显示。 |
run-in | 此元素会根据上下文作为块级元素或内联元素显示。 |
compact | CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。 |
marker | CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。 |
table | 此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符。 |
inline-table | 此元素会作为内联表格来显示(类似 <table>),表格前后没有换行符。 |
table-row-group | 此元素会作为一个或多个行的分组来显示(类似 <tbody>)。 |
table-header-group | 此元素会作为一个或多个行的分组来显示(类似 <thead>)。 |
table-footer-group | 此元素会作为一个或多个行的分组来显示(类似 <tfoot>)。 |
table-row | 此元素会作为一个表格行显示(类似 <tr>)。 |
table-column-group | 此元素会作为一个或多个列的分组来显示(类似 <colgroup>)。 |
table-column | 此元素会作为一个单元格列显示(类似 <col>) |
table-cell | 此元素会作为一个表格单元格显示(类似 <td> 和 <th>) |
table-caption | 此元素会作为一个表格标题显示(类似 <caption>) |
inherit | 规定应该从父元素继承 display 属性的值。 |
eg:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>display</title>
<style type="text/css">
.b1 li{
display: inline;
}
.b2 li{
display: block;
background-color: red;
}
</style>
</head>
<body>
<form>
<ul>
<li>首页</li>
<li>注册</li>
<li>登录</li>
<li>购物车</li>
</ul>
</form>
<hr>
<form>
<ul class="b1">
<li>首页</li>
<li>注册</li>
<li>登录</li>
<li>购物车</li>
</ul>
</form>
<hr>
<form>
<ul class="b2">
<li>首页</li>
<li>注册</li>
<li>登录</li>
<li>购物车</li>
</ul>
</form>
</body>
</html>
运行结果:
2、js对象之HTML BOM对象之style对象
操作css属性 直接“.”而没有style访问不到
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js修改样式</title>
</head>
<script type="text/javascript">
function ys(){
var a=document.getElementById("divid0");
a.style.width="500px";
a.style.height="500px";
a.style.border="3px solid black";
a.style.backgroundColor="red";
}
function cleys(){
var a=document.getElementById("divid0");
a.style.width=0;
a.style.height=0
a.style.border=0;
}
</script>
<body>
</body>
<input type="button" value="给div加上样式" onclick="ys()"/>
<input type="button" value="清除div样式" onclick="cleys()"/>
<div id="divid0"></div>
</html>
运行结果:
3.杂项补充
3.1表单提交: onsubmit 加在form表单上的 onsubmit="return 函数名()" 注意函数返回值为boolean类型
(不写return 出错可能也会弹窗提示,但一样会提交,写了return 返回false不提交)
3.2 给元素派发事件
document.getElementById("id值").onclick=function(参数){....}
document.getElementById("id值").onclick=函数名
3.3定时器:
var id=setInterVal(code,毫秒数):每隔指定的毫秒数执行一次函数 周期
var id=setTimeout(code,毫秒数):延迟指定的毫秒数之后 只执行一次函数
3.4substring(0,endIndex);//输出两下标之间的值 substring(s,e)输出下标s到下标e-1
substr(start,length);start开始向后截取length个元素
Boolean:
语法:
new Boolean(值|变量);
Boolean(值|变量);
非0数字 非空字符串 非空对象 转成true
3.5等性运算符 == ===
== :只判断值是否相同
===:不仅判断是否相同,还要判断类型是否相同
3.6 setInterval(showAd,4000);//不写括号
serInterval("showAd()",4000);//加了双引号 要写括号
3.7 <input />的name属性提交到服务器后台的
3.8获取元素的标签体中的内容
obj.innerHTML;
设置元素的标签体中的内容
obj.innerHTML="...";
3.9
getElementsByName() | 返回带有指定名称的对象集合。 | 返回同name的一个数组 | |||
getElementsByTagName() | 返回带有指定标签名的对象集合。 |
getElementsByClassName
遍历一组checkbox等的好方法
3.10
键盘事件(理解) 像单击事件一样使用 直接在元素对象里写onkeydown="f()";或者取得对象a a.onkeydown=function(){....} 派生事件
onkeydown:按下
onkeyup:弹起
onkeypress:按住
3.11获取键盘值 String.fromCharCode(event.keyCode)
e01.onkeypress = function(event){
var event = event || window.event;
append("textMsg","键盘按:keypress ("+ String.fromCharCode(event.keyCode)+");");
}
3.12
获取节点:
通过document可以获取其他节点:
常用方法:
document.getElementById("id值"):获取一个特定的元素
document.getElementsByTagName("标签名"):通过标签名获取一种元素(多个)
(eg:eg:document.getElementsByTagName("tr");获取所有行)
document.getElementsByClassName("class属性的值"):通过class属性获取一类元素(多个)
document.getElementsByName("name属性的值"):通过name属性获取一类元素(多个)
设置获取获取节点的value属性
dom对象.value;获取
dom对象.value="";设置
设置或者获取节点的标签体
dom对象.innerHTML;获取
dom对象.innerHTML="";设置
获取或者设置style属性
dom对象.style.属性;获取
dom对象.style.属性="";设置
获取或者设置属性
dom对象.属性
3.13数组
常用方法:(了解)
存放值:对内容的操作
pop():弹 最后一个
push():插入 到最后
shift():删除第一个
unshift():插入到首位
打印数组:
join(分隔符):将数组里的元素按照指定的分隔符打印 默认‘,’
拼接数组:
concat():连接两个或更多的数组,并返回结果。
对结构的操作:
sort();排序
reverse();反转
3.14 js对象
var o={
x:1,y2
};
{x:1,y:2}是一个js对象 属性x,y的值分别是1、2
3.15 js正则表达式
/正则表达式/
var s2="1,2,3,4,5,6*7%.8##9%^&10";
var a2=s2.split(/[\,\*\%\#\.\&\^]+/);//都要转义 开头结尾//即可
alert(a2.join(" "))//1 2 3 4 5 6 7 8 9 10
replace
var ss=s2.replace(/[\,\*\%\#\.\&\^]+/g," ");//加了g才是全局替换 s2同上
alert(ss);//1 2 3 4 5 6 7 8 9 10
3.16onload最常用方式
window.onload=function(){};
3.16正则开头与结尾
n$ | 匹配任何结尾为 n 的字符串。 |
^n | 匹配任何开头为 n 的字符串 |
3.17 title属性
鼠标放到上面会有提示性文字
var $user=$("[name='username']");
$user.attr("title","姓名");//设置属性 添加属性
alert($user.attr("title"));//获取属性 注:title属性 鼠标放到元素上会有的提示性文字
3.18 this在function中代表当前dom对象
attr(获取不了checked属性 这是bug)|改用prop
若jquery版本>1.6 统一使用 prop操作元素的属性 prop和attr完全一样(换了名字,修复了bug)
3.19jquery页面加载成功 两种方法
页面加载成功
$(function(){
......
})
$(document).ready(function(){
////
});
3.20在jquery中创建元素
$("<标签名>").prop(属性).html(内容) //可以一直往后不停地写
3.21 利用button事件提交表单
function addCart(){
//将表单提交
document.getElementById("formId").submit();
}
4.二次确认
function removeFromCart(pid){
if(confirm("您确定忍心丢弃我吗?")){
location.href="${pageContext.request.contextPath}/cart?method=remove&pid="+pid;
}
}