您的位置:首页 > Web前端 > JQuery

HTML基础(jQuery续)

2016-02-29 15:28 711 查看
本篇接上篇继续介绍jQuery的一些用法:
5、文档处理: 对HTML页面的内容进行一些增删改改的操作。
涉及到的知识点:
appendTo :把匹配的元素追加到另一个指定的元素集合中
prepend :向每个匹配的元素内容之前插入内容
clone :复制匹配的元素

remove :删除匹配的元素

empty :清空匹配的元素的所有子元素
例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="d1">
<div>
<a onclick="Addto(this,'#d1');"> + </a> <!--点击此加号会自动添加-->
<input type="text" style="margin-top: 5px;"/>
</div>
</div>

<div style="height: 50px;"></div>

<div id="d2">
<textarea style="height: 100px;">文本一</textarea>
<input type="button" value="左移到右" onclick="Move(this);"/>
<textarea style="height: 100px;">文本二</textarea>
<input type="button" value="清空文本" onclick="Empty();"/>
</div>

<script src="/jquery-2.2.0.js"></script>
<script>
function Addto(ths,con){
var cp = $(ths).parent().clone();   //找到当前元素的父标签并复制其所有内容
//修改获取到的内容:
//首先把第一个子元素的文本改成‘—’
//然后再把里面的onclick属性值改成Remove(this')
cp.children(':first').text('-').attr("onclick","Remove(this)");
cp.appendTo(con);   //把修改后的内容追加到传入的ID所在元素的最后面
}

function Remove(ths){
$(ths).parent().remove();   //找到当前元素的父元素 并将其删除,也就是删除自己。
}

function Move(ths){
var cp = $(ths).prev().text();  //获取文本一的内容
$(ths).prev().text('');     //获取完成后清空文本一
cp = cp + '\n'              //增加换行符
$(ths).next().prepend(cp);  //查找到文本二所在元素位置并在文本二之前插入文本一内容
}

function Empty(){
$('textarea').empty();  //清空所有的textarea元素的内容
}
</script>
</body>
</html>
6、事件
涉及到知识点:
ready:当页面DOM加载完成后执行包含的代码
focus:设置页面某元素获取焦点,也可设置获取焦点后执行代码

blur:当元素失去焦点时触发并执行代码

change:当元素内容发生改变时触发

bind:为某元素绑定一个事件

click:单击事件

hover:鼠标悬停事件(鼠标移动到一个对象上及移出这个对象时)的方法

例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
.change_color{
background-color: deepskyblue;
}
.bk{
border: solid 2px green;
}
</style>
</head>
<body>
<input id="d1" type="text">
<input id="d2" type="button" value="隐藏输入框">

<script src="/jquery-2.2.0.js"></script>
<script>

$(function(){
//当页面DOM加载完成后执行,$(document).ready(function(){ 的简写方式

$('#d1').focus();   //自动把焦点设置到ID为d1的元素上

$('#d1').blur(function(){   //当元素失去焦点时执行
$(this).change(function(){  //如果元素内容发生改变时执行
$(this).addClass('bk'); //修改元素边框样式
});
});

$('#d2').bind("click",function(){   //为ID为d2的元素绑定一个click事件
$('#d1').hide();    //隐藏ID为d1的元素
});

$('#d2').hover(     //当ID为d2的元素发生鼠标悬停事件时执行
function(){
$(this).addClass('change_color'); //鼠标悬停时添加样式
},
function(){
$(this).removeClass('change_color');    //鼠标移走时去除样式
}
);
});
</script>
</body>
</html>
7、自定义插件
说明:jQuery虽然已经提供了很多方法,但是总会有某些时候我们想自定义一些方法。jQuery提供了一个插件机制来满足此类需求。
例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>

<script src="/jquery-2.2.0.js"></script>
<script>
(function(arg){         //自执行函数,这里的arg是一个形参,值是最后的括号中传入的jQuery
arg.extend({        //jquery扩展方法的语法:等于 jQuery.extend
"login":function(){  //格式为“方法名称”:方法主体代码
return 123;    //执行的代码
}
});
})(jQuery);     //传入参数值

var ret = $.login();    //执行自定义的jQuery方法
console.log(ret);       //查看结果
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HTML jQuery