jQuery各种效果举例
jQuery
所有jQuery详细使用说明请见:http://www.php100.com/manual/jquery/
jQuery的作用是操作浏览器html,从而达到用户的可视化效果,按照功能可分为三大类:
- 找
- 选择器
- 筛选
- 操作
- 属性
- css
- 文档
- 其它
- 时间
- Ajax
- json
- ......
$符号:$就相当于jQuery这个模块 $(.class) = jQuery(.class)
1、找
1.1选择器
基本:
#id
用于搜索的,通过元素的 id 属性中给定的值
查找 ID 为"myDiv"的元素。
HTML 代码:
<div id="notMe"><p>id="notMe"</p></div>
<div id="myDiv">id="myDiv"</div> jQuery 代码:
$("#myDiv"); 结果:
[ <div id="myDiv">id="myDiv"</div> ]
#id
element(标签)
一个用于搜索的元素。指向 DOM 节点的标签名。
描述:
查找一个 DIV 元素。 HTML 代码:
<div>DIV1</div>
<div>DIV2</div>
<span>SPAN</span> jQuery 代码:
$("div"); 结果:
[ <div>DIV1</div>, <div>DIV2</div> ]
element
.class
一个用以搜索的类。一个元素可以有多个类,只要有一个符合就能被匹配到。
描述:
查找所有类是 "myClass" 的元素. HTML 代码:
<div class="notMe">div class="notMe"</div>
<div class="myClass">div class="myClass"</div>
<span class="myClass">span class="myClass"</span> jQuery 代码:
$(".myClass"); 结果:
[ <div class="myClass">div class="myClass"</div>, <span class="myClass">span class="myClass"</span> ]
class
组合选择器:
空格: 层级关系
逗号:and,多项匹配
属性:
[attribute]
匹配包含给定属性的元素。
描述:
查找所有含有 id 属性的 div 元素 HTML 代码:
<div>
<p>Hello!</p>
</div>
<div id="test2"></div> jQuery 代码:
$("div[id]") 结果:
[ <div id="test2"></div> ]
attribute
[attribute=value]
匹配给定的属性是某个特定值的元素
描述:
查找所有 name 属性是 newsletter 的 input 元素 HTML 代码:
<input type="checkbox" name="newsletter" value="Hot Fuzz" />
<input type="checkbox" name="newsletter" value="Cold Fusion" />
<input type="checkbox" name="accept" value="Evil Plans" /> jQuery 代码:
$("input[name='newsletter']").attr("checked", true); 结果:
[ <input type="checkbox" name="newsletter" value="Hot Fuzz" checked="true" />, <input type="checkbox" name="newsletter" value="Cold Fusion" checked="true" /> ]
attribute=value
以此类推其它的几个属性:
[attribute!=value]
匹配所有不含有指定的属性,或者属性不等于特定值的元素。
[attribute^=value]
匹配给定的属性是以某些值开始的元素
[attribute$=value]
匹配给定的属性是以某些值结尾的元素
[attribute*=value]
匹配给定的属性是以包含某些值的元素
子元素:
:nth-child
匹配其父元素下的第N个子或奇偶元素
':eq(index)' 只匹配一个元素,而这个将为每一个父元素匹配子元素。
:nth-child从开始的,而:eq()是从算起的!
可以使用:<br>nth-child(even)<br>:nth-child(odd)<br>:nth-child(3n)<br>:nth-child(2)<br>:nth-child(3n+1)<br>:nth-child(3n+2)
描述:
在每个 ul 查找第 2 个li HTML 代码:
<ul>
<li>John</li>
<li>Karl</li>
<li>Brandon</li>
</ul>
<ul>
<li>Glen</li>
<li>Tane</li>
<li>Ralph</li>
</ul> jQuery 代码:
$("ul li:nth-child(2)") 结果:
[ <li>Karl</li>, <li>Tane</li> ]
:nth-child
:first-child 匹配第一个子元素
:last-child 匹配最后一个子元素
:only-child 如果某个元素是父元素中唯一的子元素,那将会被匹配,如果父元素中含有其他元素,那将不会被匹配。
表单:
专属于Input标签里的属性
写法: $(":text") = $("input[type=text]")
:input
匹配所有 input, textarea, select 和 button 元素
描述:
查找所有的input元素,下面这些元素都会被匹配到。
HTML 代码:
<form>
<input type="button" value="Input Button"/>
<input type="checkbox" /> <input type="file" />
<input type="hidden" />
<input type="image" /> <input type="password" />
<input type="radio" />
<input type="reset" /> <input type="submit" />
<input type="text" />
<select><option>Option</option></select> <textarea></textarea>
<button>Button</button> </form>
jQuery 代码:
$(":input")
结果:
[
<input type="button" value="Input Button"/>,
<input type="checkbox" />, <input type="file" />,
<input type="hidden" />,
<input type="image" />, <input type="password" />,
<input type="radio" />,
<input type="reset" />, <input type="submit" />,
<input type="text" />,
<select><option>Option</option></select>, <textarea></textarea>,
<button>Button</button>,
]
:input
:text
:password
:radio
:checkbox
:submit
:image
:reset
:button 匹配所有按钮
描述:
查找所有按钮. HTML 代码:
<form>
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form> jQuery 代码:
$(":button") 结果:
[ <input type="button" />,<button></button> ]
:button
:file
:hidden
表单对象属性
:checked 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)
描述:
查找所有选中的复选框元素 HTML 代码:
<form>
<input type="checkbox" name="newsletter" checked="checked" value="Daily" />
<input type="checkbox" name="newsletter" value="Weekly" />
<input type="checkbox" name="newsletter" checked="checked" value="Monthly" />
</form> jQuery 代码:
$("input:checked") 结果:
[ <input type="checkbox" name="newsletter" checked="checked" value="Daily" />, <input type="checkbox" name="newsletter" checked="checked" value="Monthly" /> ]
:checked
:enabled 匹配所有可用元素
:display 匹配所有不可用元素
:selected 匹配所有选中的option元素
1.2筛选
过滤
eq(index|-index)
获取第N个元素 与选择器里面的eq类似,都是从0算起。
不同:筛选的.eq(1) 是整数类型 而选择的 ”:eq(1)“ 是字符串
在为一个函数传参数时,筛选的整数传参方式就简单很多,而选择器的字符串需要拼接
参数index描述:
获取匹配的第二个元素 HTML 代码:
<p> This is just a test.</p> <p> So is this</p> jQuery 代码:
$("p").eq(1) 结果:
[ <p> So is this</p> ] 参数-index描述:
获取匹配的第二个元素 HTML 代码:
<p> This is just a test.</p> <p> So is this</p> jQuery 代码:
$("p").eq(-2) 结果:
[ <p> This is just a test.</p> ]
eq
hasClass
检查当前的元素是否含有某个特定的类,如果有,则返回true,否则false
map(callback)
将一组元素转换成其他数组(不论是否是元素数组) callback(给每个元素执行的函数)
你可以用这个函数来建立一个列表,不论是值、属性还是CSS样式,或者其他特别形式。这都可以用'$.map()'来方便的建立。
描述:点击编辑,获取其他标签里的值 html代码:
<table>
<thead></thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td onclick="get_prev(this);">编辑</td>
</tr>
</tbody>
</table> jQuery代码: function get_prev(arg){
// $(arg).siblings()所有兄弟;
// 循环多个标签中的每一个标签
// 每一个标签被循环时,都会执行map内部的函数,并获取其返回值
// 将所有的返回值都封装在一个数组(列表)中
// 返回列表 // $(this) 相当于当前循环的每一个标签
var list= $(arg).siblings().map(function(){ return $(this).text();
});
console.log(list[0],list[2]);
}
map(callback)
查找
children([expr])
取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。
可以通过可选的表达式来过滤所匹配的子元素。注意:parents()将查找所有祖辈元素,而children()只考虑子元素而不考虑所有后代元素。
描述:
查找DIV中的每个子元素。 HTML 代码:
<p>Hello</p><div><span>Hello Again</span></div><p>And Again</p> jQuery 代码:
$("div").children() 结果:
[ <span>Hello Again</span> ] 描述:
在每个div中查找 .selected 的类。 HTML 代码:
<div><span>Hello</span><p class="selected">Hello Again</p><p>And Again</p></div> jQuery 代码:
$("div").children(".selected") 结果:
[ <p class="selected">Hello Again</p> ]
children
find(expr|obj|ele)
搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。
所有搜索都依靠jQuery表达式来完成。这个表达式可以使用CSS1-3的选择器语法来写。
描述:
从所有的段落开始,进一步搜索下面的span元素。与$("p span")相同。 HTML 代码:
<p><span>Hello</span>, how are you?</p> jQuery 代码:
$("p").find("span") 结果:
[ <span>Hello</span> ]
find
next([expr])
取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。
这个函数只返回后面那个紧邻的同辈元素,而不是后面所有的同辈元素(可以使用nextAll)。可以用一个可选的表达式进行筛选。
描述:
找到每个段落的后面紧邻的同辈元素。 HTML 代码:
<p>Hello</p><p>Hello Again</p><div><span>And Again</span></div> jQuery 代码:
$("p").next() 结果:
[ <p>Hello Again</p>, <div><span>And Again</span></div> ] 描述:
找到每个段落的后面紧邻的同辈元素中类名为selected的元素。 HTML 代码:
<p>Hello</p><p class="selected">Hello Again</p><div><span>And Again</span></div> jQuery 代码:
$("p").next(".selected") 结果:
[ <p class="selected">Hello Again</p> ]
next
nextAll([expr])
查找当前元素之后所有的同辈元素。
可以用表达式过滤
描述:
给第一个div之后的所有元素加个类 HTML 代码:
<div></div><div></div><div></div><div></div> jQuery 代码:
$("div:first").nextAll().addClass("after"); 结果:
[ <div class="after"></div>, <div class="after"></div>, <div class="after"></div> ]
nextAll
nextUntill
查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止。
描述:
给#term-2后面直到dt前的元素加上红色背景
HTML 代码:
<dl>
<dt>term 1</dt>
<dd>definition 1-a</dd>
<dd>definition 1-b</dd>
<dd>definition 1-c</dd>
<dd>definition 1-d</dd> <dt id="term-2">term 2</dt>
<dd>definition 2-a</dd>
<dd>definition 2-b</dd>
<dd>definition 2-c</dd> <dt>term 3</dt>
<dd>definition 3-a</dd>
<dd>definition 3-b</dd>
</dl>
jQuery 代码:
$('#term-2').nextUntil('dt').css('background-color', 'red'); var term3 = document.getElementById("term-3");
$("#term-1").nextUntil(term3, "dd").css("color", "green");
结果:
term 1
definition 1-a
definition 1-b
definition 1-c
definition 1-d
term 2
definition 2-a
definition 2-b
definition 2-c
term 3
definition 3-a
definition 3-b
nextUtill
prev([expr]) 向上匹配
prevAll([expr])
prevUntill
parent([expr])
取得一个包含着所有匹配元素的唯一父元素的元素集合。
你可以使用可选的表达式来筛选。
描述:
查找每个段落的父元素 HTML 代码:
<div><p>Hello</p><p>Hello</p></div> jQuery 代码:
$("p").parent() 结果:
[ <div><p>Hello</p><p>Hello</p></div>] 描述:
查找段落的父元素中每个类名为selected的父元素。 HTML 代码:
<div><p>Hello</p></div><div class="selected"><p>Hello Again</p></div> jQuery 代码:
$("p").parent(".selected") 结果:
[ <div class="selected"><p>Hello Again</p></div> ]
parent
parents([expr])
取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
描述:
找到每个span元素的所有祖先元素。 HTML 代码:
<html><body><div><p><span>Hello</span></p><span>Hello Again</span></div></body></html> jQuery 代码:
$("span").parents() 描述:
找到每个span的所有是p元素的祖先元素。 jQuery 代码:
$("span").parents("p")
parents
parentsUtill
查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止。
描述:
查找item-a的祖先,但不包括level-1
HTML 代码:
<ul class="level-1">
<li class="item-i">I</li>
<li class="item-ii">II
<ul class="level-2">
<li class="item-a">A</li>
<li class="item-b">B
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
</li>
<li class="item-c">C</li>
</ul>
</li>
<li class="item-iii">III</li>
</ul>
jQuery 代码:
$('li.item-a').parentsUntil('.level-1')
.css('background-color', 'red');
parentsUtill
siblings([expr])
取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合。可以用可选的表达式进行筛选。
描述:
找到每个div的所有同辈元素。
HTML 代码:
<p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>
jQuery 代码:
$("div").siblings()
结果:
[ <p>Hello</p>, <p>And Again</p> ]
描述:
找到每个div的所有同辈元素中带有类名为selected的元素。
HTML 代码:
<div><span>Hello</span></div><p class="selected">Hello Again</p><p>And Again</p>
jQuery 代码:
$("div").siblings(".selected")
结果:
[ <p class="selected">Hello Again</p> ]
siblings
1.3jQuery中的循环:
$.each(列表数据,function(){
函数体;
})
字典为特殊的列表
var a = [11,22,33,44] $.each(a,function(item){
console.log(a[item]);
}) a 要循环的列表
function(ele){} 把列表a中每个循环到的元素去执行function函数
item: 代表列表中每个循环到的元素的索引值index
列表循环
var d = {'k1':'v1','k2':'v2','k3':'v3'} $.each(d,function(key,value){
console.log(key,value);
}) d 要循环的字典
function(key,value){} 把字典d中每个循环到的key,value去执行方法
key,value: 代表字典中每个k,v的值
字典循环
$(列表数据).each(function(){
函数体;
$(this) = 要循环的每一项
})
1.4属性
属性
attr(name|properties|key,value|fn)
设置或返回被选元素的属性值。
参数name 描述:
返回文档中所有图像的src属性值。 jQuery 代码:
$("img").attr("src"); 参数properties 描述:
为所有图像设置src和alt属性。 jQuery 代码:
$("img").attr({ src: "test.jpg", alt: "Test Image" }); 参数key,value 描述:
为所有图像设置src属性。 jQuery 代码:
$("img").attr("src","test.jpg"); 参数key,回调函数 描述:
把src属性的值设置为title属性的值。 jQuery 代码:
$("img").attr("title", function() { return this.src });
attr
removeAttr(name)
从每一个匹配的元素中删除一个属性
描述:
将文档中图像的src属性删除 HTML 代码:
<img src="test.jpg"/> jQuery 代码:
$("img").removeAttr("src"); 结果:
[ <img /> ]
removeAttr
prop(name|properties|key,value|fn)
获取在匹配的元素集中的第一个元素的属性值。(复选框)
参数name 描述:
选中复选框为true,没选中为false
jQuery 代码:
$("input[type='checkbox']").prop("checked");
参数properties 描述:
禁用页面上的所有复选框。
jQuery 代码:
$("input[type='checkbox']").prop({
disabled: true
});
参数key,value 描述:
禁用和选中所有页面上的复选框。
jQuery 代码:
$("input[type='checkbox']").prop("disabled", false);
$("input[type='checkbox']").prop("checked", true);
参数key,回调函数 描述:
通过函数来设置所有页面上的复选框被选中。
jQuery 代码:
$("input[type='checkbox']").prop("checked", function( i, val ) {
return !val;
});
prop
removeProp(name)
用来删除由.prop()方法设置的属性集
CSS类:
addClass(class|fn) 为每个匹配的元素添加指定的类名。
removeClass(clss|fn) 从所有匹配的元素中删除全部或者指定的类。
toggleClass(class|fn[,sw])
如果存在(不存在)就删除(添加)一个类。
参数class 描述:
为匹配的元素切换 'selected' 类
jQuery 代码:
$("p").toggleClass("selected");
参数class,switch 描述:
每点击三下加上一次 'highlight' 类
HTML 代码:
<strong>jQuery 代码:</strong>
jQuery 代码:
var count = 0;
$("p").click(function(){
$(this).toggleClass("highlight", count++ % 3 == 0);
});
回调函数 描述:
根据父元素来设置class属性
jQuery 代码:
$('div.foo').toggleClass(function() {
if ($(this).parent().is('.bar') {
return 'happy';
} else {
return 'sad';
}
});
toggleClass
HTML代码/文本/值:
text([val|fn])
取得所有匹配元素的内容。
结果是由所有匹配元素包含的文本内容组合起来的文本。这个方法对HTML和XML文档都有效。
无参数 描述:
返回p元素的文本内容。 jQuery 代码:
$('p').text(); 参数val 描述:
设置所有 p 元素的文本内容 jQuery 代码:
$("p").text("Hello world!"); 回调函数 描述:
使用函数来设置所有匹配元素的文本内容。 jQuery 代码:
$("p").text(function(n){
return "这个 p 元素的 index 是:" + n;
});
text
html([val|fn])
取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。
在一个 HTML 文档中, 我们可以使用 .html() 方法来获取任意一个元素的内容。 如果选择器匹配多于一个的元素,那么只有第一个匹配元素的 HTML 内容会被获取。
无参数 描述:
返回p元素的内容。
jQuery 代码:
$('p').html();
参数val 描述:
设置所有 p 元素的内容
jQuery 代码:
$("p").html("Hello <b>world</b>!");
回调函数描述:
使用函数来设置所有匹配元素的内容。
jQuery 代码:
$("p").html(function(n){
return "这个 p 元素的 index 是:" + n;
});
html
val(val)
取出input,select,textarea标签中输入的值,
参数为空时为取值,参数存在时为设置值
$('#hostname').val(new_list[0]);
$('#ip').val(new_list[1]);
$('#port').val(new_list[2]);
val
html代码
<div>
<select id="name">
<option value="1">男</option>
<option value="2">女</option>
</select>
<input type="button" onclick="GetValue();"/>
</div> jQuery代码:
function GetValue(){
// 获取id=name 下value的值
var w = $('#name').val();
// 获取id=name下option[value=2]的内容
var s = $('#name option[value=2]').text();
console.log(w);
console.log(s);
}
select.val
1.5 CSS
CSS
css(name|pro|[,val|fn])
访问匹配元素的样式属性。
参数name 描述:
取得第一个段落的color样式属性的值。
jQuery 代码:
$("p").css("color");
参数properties 描述:
将所有段落的字体颜色设为红色并且背景为蓝色。
jQuery 代码:
$("p").css({ color: "#ff0011", background: "blue" });
参数name,value 描述:
将所有段落字体设为红色
jQuery 代码:
$("p").css("color","red");
参数name,回调函数 描述:
逐渐增加div的大小
jQuery 代码:
$("div").click(function() {
$(this).css({
width: function(index, value) {
return parseFloat(value) * 1.2;
},
height: function(index, value) {
return parseFloat(value) * 1.2;
}
});
});
CSS
位置
scrollTop([val])
获取匹配元素相对滚动条顶部的偏移。
<body> <input type="button" onclick="GoBacktop();" value="返回顶部"/>
<div id="content" style="height: 200px;width:500px; overflow: auto;">
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
<p>ww</p>
</div> <script src="jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript"> function GoBacktop(){
// 设置id=content的元素滚动条顶部距离为0
$('#content').scrollTop(0); // 设置浏览器的滚动条顶部距离为0
// $(window).scrollTop(0);
} </script>
scrollTop
scrollLeft([val])
获取匹配元素相对滚动条左侧的偏移。
offset([coordinates])
获取匹配元素在当前视口的相对偏移。相对整个页面的位置
获取第二段的偏移量: <body>
<div style="height: 1500px;"></div>
<div id="d1">wwwwwww</div>
<!--浏览器默认会有一个边距为8px--> <script src="jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript"> var w = $('#d1').offset();
console.log(w); </script>
</body> 结果:
left: 8
top: 1508 参数coordinates 描述:
获取第二段的偏移
HTML 代码:
<p>Hello</p><p>2nd Paragraph</p> jQuery 代码:
$("p:last").offset({ top: 10, left: 30 });
offset
position()
获取匹配元素相对父元素的偏移。
获取id=d2的标签相对父标签的偏移量: <div style="height: 1500px;"></div>
<div style="padding: 50px; position: relative;">
<div id="d2" >aaaaaaa</div>
</div> <script src="jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript"> var w = $('#d2').position();
console.log(w);
结果:
{top: 50, left: 50}
position
1.6事件
事件
$(window).scroll()
设置页面加载后,每一次滚动滑轮就触发事件
<body> <div>
<div style="height: 500px";>
<h1>第一章</h1>
</div> <div style="height: 1500px;">
<h1>第二章</h1>
</div> <div style="height: 2000px;" >
<h1>第三章</h1>
</div>
</div> <script src="jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript"> // 当页面加载时,就会注册事件,滚动滑轮就会触发事件 $(function () {
$(window).scroll(function() {
console.log(123);
})
}) </script>
</body>
window.scroll
1.7文档处理
内部插入
append(content|fn)
向每个匹配的元素内部追加内容。
向所有段落中追加一些HTML标记。 HTML 代码:
<p>I would like to say: </p> jQuery 代码:
$("p").append("<b>Hello</b>"); 结果:
[ <p>I would like to say: <b>Hello</b></p> ]
append
appendTo(content)
把所有匹配的元素追加到另一个指定的元素元素集合中。
实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中。
描述:
把所有段落追加到ID值为foo的元素中。
HTML 代码:
<p>I would like to say: </p>
<div></div><div></div>
jQuery 代码:
$("p").appendTo("div");
结果:
<div><p>I would like to say: </p></div>
<div><p>I would like to say: </p></div>
描述:
新建段落追加div中并加上一个class
HTML 代码:
<div></div><div></div>
jQuery 代码:
$("<p/>")
.appendTo("div")
.addClass("test")
.end()
.addClass("test2");
结果:
<div><p class="test test2"></p></div>
<div><p class="test"></p></div>
appendTo
prepend(content)
向每个匹配的元素内部前置内容。
这是向所有匹配元素内部的开始处插入内容的最佳方式。
描述:
向所有段落中前置一些HTML标记代码。
HTML 代码:
<p>I would like to say: </p>
jQuery 代码:
$("p").prepend("<b>Hello</b>");
结果:
[ <p><b>Hello</b>I would like to say: </p> ]
描述:
将一个DOM元素前置入所有段落
HTML 代码:
<p>I would like to say: </p>
<p>I would like to say: </p>
<b class="foo">Hello</b>
<b class="foo">Good Bye</b>
jQuery 代码:
$("p").prepend( $(".foo")[0] );
结果:
<p><b class="foo">Hello</b>I would like to say: </p>
<p><b class="foo">Hello</b>I would like to say: </p>
<b class="foo">Hello</b>
<b class="foo">Good Bye</b>
描述:
向所有段落中前置一个jQuery对象(类似于一个DOM元素数组)。
HTML 代码:
<p>I would like to say: </p><b>Hello</b>
jQuery 代码:
$("p").prepend( $("b") );
结果:
<p><b>Hello</b>I would like to say: </p>
prepend
prependTo(content)
把所有匹配的元素前置到另一个、指定的元素元素集合中。
实际上,使用这个方法是颠倒了常规的$(A).prepend(B)的操作,即不是把B前置到A中,而是把A前置到B中。
描述:
把所有段落追加到ID值为foo的元素中。 HTML 代码:
<p>I would like to say: </p><div id="foo"></div> jQuery 代码:
$("p").prependTo("#foo"); 结果:
<div id="foo"><p>I would like to say: </p></div>
prependTo
外部插入
after(content|fn)
在每个匹配的元素之后插入内容
描述:
在所有段落之后插入一些HTML标记代码。
HTML 代码:
<p>I would like to say: </p>
jQuery 代码:
$("p").after("<b>Hello</b>");
结果:
<p>I would like to say: </p><b>Hello</b>
描述:
在所有段落之后插入一个DOM元素。
HTML 代码:
<b id="foo">Hello</b><p>I would like to say: </p>
jQuery 代码:
$("p").after( $("#foo")[0] );
结果:
<p>I would like to say: </p><b id="foo">Hello</b>
描述:
在所有段落中后插入一个jQuery对象(类似于一个DOM元素数组)。
HTML 代码:
<b>Hello</b><p>I would like to say: </p>
jQuery 代码:
$("p").after( $("b") );
结果:
<p>I would like to say: </p><b>Hello</b>
after
before(content|fn)
在每个匹配的元素之前插入内容
insertAfter(content)
把所有匹配的元素插入到另一个、指定的元素元素集合的后面。
实际上,使用这个方法是颠倒了常规的$(A).after(B)的操作,即不是把B插入到A后面,而是把A插入到B后面。
描述:
把所有段落插入到一个元素之后。与 $("#foo").after("p")相同
HTML 代码:
<p>I would like to say: </p><div id="foo">Hello</div>
jQuery 代码:
$("p").insertAfter("#foo");
结果:
<div id="foo">Hello</div><p>I would like to say: </p>
insertAfter
insertBefore(content)
把所有匹配的元素插入到另一个、指定的元素元素集合的前面。
实际上,使用这个方法是颠倒了常规的$(A).before(B)的操作,即不是把B插入到A前面,而是把A插入到B前面。
删除
empty()
删除匹配的元素集合中所有的子节点。
把所有段落的子元素(包括文本节点)删除 HTML 代码:
<p>Hello, <span>Person</span> <a href="#">and person</a></p> jQuery 代码:
$("p").empty(); 结果:
<p></p>
empty
remove([expr])
从DOM中删除所有匹配的元素。
从DOM中把所有段落删除
HTML 代码:
<p>Hello</p> how are <p>you?</p>
jQuery 代码:
$("p").remove();
结果:
how are
描述:
从DOM中把带有hello类的段落删除
HTML 代码:
<p class="hello">Hello</p> how are <p>you?</p>
jQuery 代码:
$("p").remove(".hello");
结果:
how are <p>you?</p>
remove
detach([expr])
描述:
从DOM中把所有段落删除 HTML 代码:
<p>Hello</p> how are <p>you?</p> jQuery 代码:
$("p").detach(); 结果:
how are 描述:
从DOM中把带有hello类的段落删除 HTML 代码:
<p class="hello">Hello</p> how are <p>you?</p> jQuery 代码:
$("p").detach(".hello"); 结果:
how are <p>you?</p>
detach
复制
clone([Even[,deepEven]])
克隆匹配的DOM元素并且选中这些克隆的副本。
在想把DOM文档中元素的副本添加到其他位置时这个函数非常有用。
描述:
克隆所有b元素(并选中这些克隆的副本),然后将它们前置到所有段落中。
HTML 代码:
<b>Hello</b><p>, how are you?</p>
jQuery 代码:
$("b").clone().prependTo("p");
结果:
<b>Hello</b><p><b>Hello</b>, how are you?</p>
描述:
创建一个按钮,他可以复制自己,并且他的副本也有同样功能。
HTML 代码:
<button>Clone Me!</button>
jQuery 代码:
$("button").click(function(){
$(this).clone(true).insertAfter(this);
});
clone
1.8插件
jQuery.extend(object)
扩展jQuery对象本身。用来在jQuery命名空间上增加新函数。
在jQuery命名空间上增加两个函数。
jQuery 代码:
jQuery.extend({
min: function(a, b) { return a < b ? a : b; },
max: function(a, b) { return a > b ? a : b; }
});
结果:
jQuery.min(2,3); // => 2
jQuery.max(4,5); // => 5
extend
一般扩展jQuery会用自执行函数添加
jQuery 代码:
(function (arg) {
arg.extend({
"chenchao": function () {
return 12345;
}
});
})(jQuery);
两种方式执行方法一样:
<script src="js/jquery-1.8.2.min.js"></script>
<script src="chenchao.js"></script>
<script >
var ret = $.chenchao();
console.log(ret); </script>
2、一些其它的知识点
2.1获取JS中的全局变量
window[‘变量名’]
STATUS = [
{'id':1,'text':"在线"},
{'id':2,'text':"离线"}
]; BUSINESS = [
{'id':1,'text':"二手车"},
{'id':2,'text':"大保健"},
{'id':3,'text':"车商城"}
]; 传参的形式获取变量:
var all_val = window[“STATUS”]
var all_val = window[“BUSINESS”] 如果要获取变量里的值可以循环: $.each(all_val, function (index,value) {
value.text;
value.id;
}); index为all_val值得索引
value为字典里的值
windown
2.2将字符串类型的数字,转换为数字类型
parseInt('123')
2.3三种绑定事件方法
dom绑定
HTML代码:
<a onclick="AddCondition()">This is Dom bing event!</a> jQurey代码:
function AddCondition(){
函数体
}
Dom绑定事件
jQurey绑定
当批量对某一类标签定义事件时使用
HTML代码:
<div id="js1">This is jQuery bind event!</div> jQuery代码: // 当doc文档加载完毕之后,自动执行此处代码
$(function () { // 第一种绑定
$('#js1').click(function () {
alert($(this).text());
}); // 第二种绑定
$('#js1').bind("click", function () {
alert($(this).text());
})
});
jQuery绑定事件
jQuery各种示例:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
.hide{
display: none;
}
</style>
</head>
<body> <div>
<div>
<div onclick="Chang(this);">菜单一</div>
<div class="content">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
</div> <div>
<div onclick="Chang(this);">菜单二</div>
<div class="content hide">
<div>11</div>
<div>22</div>
<div>33</div>
</div>
</div> <div>
<div onclick="Chang(this);">菜单三</div>
<div class="content hide">
<div>111</div>
<div>222</div>
<div>333</div>
</div>
</div>
</div> <script src="jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript"> function Chang(arg){
// $(arg) $(this)就可以使用jQuery的方法了,相当于点击的标签,this是js的参数
// $(arg).next() 当前标签的下一个兄弟标签
// $(arg).parent() 当前标签的父标签
// $(arg).parent().siblings()当前标签父标签的兄弟标签
// find('.content') 找出正在处理的元素的后代元素
// $(arg).next().show();
// $(arg).parent().siblings().find('.content').hide()
$(arg).next().removeClass('hide');
$(arg).parent().siblings().find('.content').addClass('hide')
} </script> </body>
</html>
左侧隐藏菜单
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
.model{
position: fixed;
left: 50%;
top: 50%;
width: 400px;
height: 300px;
background-color: #ddd;
margin-left: -200px;
margin-top: -150px;
}
.hide{
display: none;
}
</style> </head>
<body> <table border="1">
<thead></thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td onclick="GetPrev(this);">编辑</td>
</tr>
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
<td onclick="GetPrev(this);">编辑</td>
</tr>
<tr>
<td>1111</td>
<td>2222</td>
<td>3333</td>
<td onclick="GetPrev(this);">编辑</td>
</tr>
</tbody> </table> <div id="dialog" class="model hide">
<form action="" method="get">
<p>主机名:<input type="text" id="hostname" value="123123" /></p>
<p>IP:<input type="text" id="ip" value="192.168.1.1" /></p>
<p>端口:<input type="text" id="port" value="3306" /></p>
<input type="submit" onclick="return SubmitForm()" value="提交"/>
<input type="button" onclick="cancel()" value="取消"/>
</form> </div> <script src="jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript"> // 1.弹出框
// 2.取出表格中的数据
// 3.将表格数据填充到弹出框中
function GetPrev(ths){
var list=[];
$.each($(ths).prevAll(),function(i){
// i=每个元素的索引值
// var item = $(ths).prevAll()[i];
var text = $($(ths).prevAll()[i]).text();
list.push(text);
});
var new_list = list.reverse();
$('#hostname').val(new_list[0]);
$('#ip').val(new_list[1]);
$('#port').val(new_list[2]);
$('#dialog').removeClass('hide');
} function cancel(){
$('#dialog').addClass('hide');
} function SubmitForm(){
// 1.获取表单中的值
// 2.判断值是否为空
var ret=true;
// 遍历所有的input,只要有空值,就将ret设置为false
// $('input[type="text"]')
$(':text').each(function(){
// $(this) 要循环的每一个元素
var value = $(this).val();
if(value.trim().length == 0){
$(this).css('border-color','red');
ret = false
}else{
$(this).css('border-color','green');
} });
return ret;
} </script>
</body>
</html>
弹出提交框
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body> <input type="button" onclick="CheckAll()" value="全选"/>
<input type="button" onclick="CheckReverse()" value="反选"/>
<input type="button" onclick="CheckCancel()" value="取消"/> <table border="1">
<thead></thead>
<tbody id="tb1">
<tr>
<td><input type="checkbox"/></td>
<td>l1</td>
</tr>
<tr>
<td><input type="checkbox"/></td>
<td>l2</td>
</tr>
<tr>
<td><input type="checkbox"/></td>
<td>l3</td>
</tr>
</tbody> </table> <script src="jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript"> function CheckAll(){
// $('#tb1').find(':checkbox').attr('checked','checked');
$('#tb1').find(':checkbox').prop('checked',true);
}
function CheckReverse(){
$('#tb1').find(':checkbox').each(function () {
if($(this).prop('checked')){
$(this).prop('checked',false);
}else{
$(this).prop('checked',true);
}
});
}
function CheckCancel(){
$('#tb1').find(':checkbox').prop('checked',false);
}
</script>
</body>
</html>
复选框
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
.bu{
font-weight:bolder;
position: fixed;
top: 20px;
left: 200px;
color: azure;
background-color: cornflowerblue;
}
</style>
</head>
<body>
<div id="current" class="bu"></div> <div>
<div class="chapter" style="height: 500px";>
<h1>第一章</h1>
</div> <div class="chapter" style="height: 1500px;">
<h1>第二章</h1>
</div> <div class="chapter" style="height: 20px;" >
<h1>第三章</h1>
</div>
</div> <script src="jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript"> // 当页面加载时,就会注册事件,滚动滑轮就会触发事件 $(function () {
$(window).scroll(function () {
// 获取窗体滚动条离顶部高度
var scroll_top = $(window).scrollTop();
var list = [];
// 循环每一个章节,获取每个章节距离窗体顶部的距离,并添加到列表中
$.each($('.chapter'), function (i) {
var current_offsettop = $($('.chapter')[i]).offset().top;
list.push(current_offsettop);
}); // 循环列表中每一个章节的距顶高度,如果滚轮的距顶高度+窗口的高度=页面总高度
// 说明已经拉到最底部,直接显示最后章节
// 如果滚轮的下拉高度大于每一章节的距顶高度,显示当前章节
$.each(list, function (i) {
if (scroll_top+$(window).height() == $(document).height()){
$('#current').text($('.chapter').last().text());
return
}
if (scroll_top>list[i]){
$('#current').text($($('.chapter')[i]).text());
}
});
})
}) </script>
</body>
</html>
章节滚动
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="search_conditions">
<div class="condition">
<a onclick="AddCondition(this,'#search_conditions')"> + </a>
<input />
</div>
</div> <script src="js/jquery-1.8.2.min.js"></script>
<script >
function AddCondition(ths,conditions){
var clon = $(ths).parent().clone();
clon.children(':first').text('-').attr('onclick','RemoveCondition(this,"#search_conditions")');
$(conditions).append(clon);
}
function RemoveCondition(ths,conditions){
$(ths).parent().remove();
}
</script>
</body>
</html>
克隆搜索框
jQuery各种效果举例的更多相关文章
- python 全栈开发,Day53(jQuery的介绍,jQuery的选择器,jQuery动画效果)
js总结 js: 1.ECMAScript5 ES5语法 2.DOM CRUD 获取 3种方式 id tag className //面向对象 对象 : 属性和方法 某个对象中 function $( ...
- css3线条围绕跑马+jquery打字机效果
原文地址:css3线条围绕跑马+jquery打字机效果 有图有真相,今天偶然看到了一种效果,仔细看了下,发现它是用css的clip+css3的动画实现的,简直叼.于是自己拿来了前一阵子写的打字机效果, ...
- JQuery动画效果
jquery动画效果常用方法 1.show()显示效果语法:show(speed,callback)Number/String,Function speend为动画执行时间,单位为毫秒.也可以为slo ...
- 分享5种风格的 jQuery 分页效果【附代码】
jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示 源码下载 各个 ...
- 新鲜出炉的30个精美的 jQuery & CSS3 效果【附演示和教程】
新鲜出炉的30个精美的 jQuery & CSS3 效果[附演示和教程] 作为最流行的 JavaScript 开发框架,jQuery 在现在的 Web 开发项目中扮演着重要角色,它简化了 ...
- jquery动画效果---animate()--滚屏
jquery动画效果---animate()方法---W3school
- jQuery概述,代码举例及最新版下载
jQuery是一个快速的,小巧的,具有强大功能的JavaScript库. 它的基本功能包括: 1)访问和操作DOM元素 2)控制页面样式(可以兼容各种浏览器) 3)对页面事件的处理 4)大量插件在页面 ...
- jquery 之效果
// jquery 之效果 .css()既可以获取值,如 .css('fontSize'), 又可以设置内置属性,既可用驼峰式,也可以用连字符版,如 .css('background-color', ...
- jQuery的效果(动画)
jquery的效果(动画) show 概念:显示隐藏的匹配元素 语法:show(speed,callback) 参数:speed:三种预定速度之一的字符串('slow','normal','fast' ...
随机推荐
- hibernate 其中七种关联关系
写的很好 http://blog.csdn.net/qq_27550755/article/details/50070017
- ios专题 - CocoaPods - 安装
职业走得很累,停下来,温故技术.顺便开始我得ios博客文章. [原创]http://www.cnblogs.com/luoguoqiang1985 安装 第一步:执行以下命令 sudo gem ins ...
- The Better Way to Debug Your JavaScript Program
Debugging JS program is not as easy as we do in Visual Studio or any other IDE. I usually us "a ...
- js keycode大全
JS KeyCode数字对应键盘以及应用大全 时间:2014-07-11 10:37 点击:851次 keycode 8 = BackSpace BackSpacekeycode ...
- 分享一个自己写的基于TP的关系模型
为了说明问题,假设现在有表test1,test1有从表test2:test1属于test3,test1和test4多对多,关联表test1_test4. 1.定义关系 class Test1Model ...
- js如何获取一个月的天数 data javascript
js如何获取一个月的天数 function days(year,month){ var dayCount; now = new Date(year,month, 0); dayCount = now. ...
- 理解Php中的Static
① 使用 static 可以将类中的成员标识为静态的,既可以用来标识成员属性,也可以用来标识成员方法,比如: <?php class China { public static $boy = 1 ...
- 一些static_cast const_cast
static_cast:干杂活的,那三个都有各自的专有用途,那三个不做的都由这个转型符来做,只要它能做的,用C语法的强制类型转换运算符也一定能够完成:但话又说回来了,C强制类型转换能做的,它可不一定都 ...
- namenode启动参数
namenode启动参数:-Xmx153600m -Xms153600m -Xmn4096m -verbose:gc -Xloggc:$LOG_DIR/namenode.gc.log -XX:Erro ...
- 原生js实现tab选项卡里内嵌图片滚动特效代码
<!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8&quo ...