1.Learn how Script Tags and Document Ready Work
学习脚本标记和文档准备工作
现在让我们开始学习最流行的JavaScript库jQuery吧,不用担心JavaScript本身,我们稍后会提到它。
在开始学习使用jQuery之前,我们需要加一些代码到HTML文件中。
首先在页面顶端增加一行
script
元素,然后写上结束符。
浏览器会运行
script
里所有的Javascript,包括jQuery。
在你的
script
里,添加这个方法:
$(document).ready(function() {
到你的
script
,接下来用
});
结束这个方法
接下来我们来学习如何写
方法
,
方法
里面的代码会被浏览器加载。
在没有
document ready function
以前,你的代码会在HTML没有渲染完成就执行,这样会产生bug。
<script>
$(document).ready(function() {});
</script>
2.Target HTML Elements with Selectors Using jQuery
使用jQuery选择带HTML元素的目标
现在我们已经知道
document ready function
的用法了.
现在让我们开始写第一个jQuery语句,所有jQuery方法都是由
$
开始的,通常称作为
美元符号
,或者简称为
bling
。
jQuery通过
选择器
来选择一个元素的,然后操作元素做些改变。
举个例子,要让所有的
按钮
做弹回效果,只要把这段代码写在
document ready function
里面就可以了。
$("button").addClass("animated bounce");
通过jQuery给
button
元素添加
bounce
回弹动画效果。
任务:
使用 jQuery 的
addClass()
function 为你的
button
元素添加 class
animated
和
bounce
。
只用 jQuery 来为元素添加 class。
<script>
$(document).ready(function() {
$("button").addClass("animated bounce");
});
</script>
//使用了下有效果的 当html或者css,js增加东西时 button 整体就会上下跳一跳
3.Target Elements by Class Using jQuery 类的目标元素
给所有的
按钮
做弹回效果,我们用
$("button")
来选中按钮,然后用
.addClass("animated bounce")
给按钮加CSS class。
你只需要用jQuery的
.addClass()
方法,就可以给元素加class了。
首先,我们来使用
$(".well")
来获取所有class为
well
的
div
元素。
仔细想想为什么需要在
well
前面添加
. //因为well是类名 而上面的button是标签
然后使用jQuery的
.addClass()
方法添加2个class:
animated
、
shake
。
例如,你可以将下面的代码写在
document ready function
里:
$(".text-primary").addClass("animated shake");
上面的代码给所有class为
text-primary
的元素添加shake class。
"shake"的效果 左右摇摆
4.Target Elements by ID Using jQuery
你还可以根据id属性来获取元素
首先用
$("#target3")
来选择id为
target3
的
button
元素。
注意,就像CSS一样,在id的名字前加上
#
。
然后使用jQuery的
.addClass()
方法来添加
animated
和
fadeOut
class.
例如:下面的代码就是给id为
target6
的
button
元素添加fade out效果的:
$("#target6").addClass("animated fadeOut")
fadeOut 表现是从出现到从下往上消失了
划重点
:
元素选择器:
$("button")
、class选择器:
$(".btn")
、id选择器:
$("#target1")
。
5.Remove classes from an element with jQuery
你可以通过jQuery的
addClass()
方法给元素添加class,也可以通过jQuery
removeClass()
方法去掉元素上的class。
像下面这样:
$("#target2").removeClass("btn-default");
$("#target2").removeClass("btn-default");
来尝试把所有
button
元素上的
btn-default
class移除掉。
$("button").removeClass("btn-default");
6.
Change the CSS of an Element Using jQuery
我们可以通过jQuery来改变HTML元素的CSS样式。
jQuery有一个叫做
.css()
的方法能让你改变元素的CSS样式。
我们是这样来把颜色改变成蓝色的:
$("#target1").css("color", "blue");
这跟通常的CSS语法有点不同,这里CSS的属性和值是在引号内的,并且用逗号分开。
把你的
document ready function
清空,
来尝试把
target1
改变成红色。
$("#target1").css("color","red");
7.Disable an Element Using jQuery 使用jQuery禁用元素
你还可以用jQuery改变除了CSS以外的属性。比如,你可以让按钮变不可选。
当你把按钮设置成不可选以后,这会让按钮变灰并且不能点击。
jQuery有一个
.prop()
的方法让你来调整元素的属性.
我们是这样来让按钮不可选的:
$("button").prop("disabled", true);
$("button").prop("disabled", true);
来尝试让
target1
按钮不可选.
$("#target1").prop("disabled", true);
8.Change Text Inside an Element Using jQuery 使用jQuery更改元素内的文本
jQuery不仅可以改变元素开始标记和结束标记间的文本,甚至可以改变元素标记本身。
jQuery的
.html()
方法可以添加HTML标签和文字到元素,而元素之前的内容都会被方法的内容所替换掉。
我们是通过
em
[emphasize]标签来重写和强调标题文本的:
$("h3").html("<em>jQuery Playground</em>");
jQuery 还有一个类似的方法叫
.text()
,它只能改变文本但不能修改标记。换句话说,这个方法只会把传进来的任何东西(包括标记)当成文本来显示。
任务:强调id为
target4
按钮里的文本。
9.Remove an Element Using jQuery 使用jQuery删除元素
现在让我们用jQuery来移除页面上的HTML元素吧.
jQuery 有一个
.remove()
的方法可以移除HTML元素
试着使用
.remove()
方法来移除页面上的
target4
元素吧.
$("#target4").remove();
//整个target4全部被移除了
10.Use appendTo to Move Elements with jQuery
现在让我们尝试把元素从一个
div
里移到另外一个
div
里。
jQuery有一个
appendTo()
方法可以把选中的元素加到其他元素中。
比如,你想让
target4
从我们的从
right-well
移到
left-well
,我们可以这样使用:
$("#target4").appendTo("#left-well");
来试着把
target2
元素从
left-well
移到
right-well
中。
11.Clone an Element Using jQuery
除了移动元素,你还可以拷贝元素。简单理解:移动元素就是剪切,拷贝元素就是复制。
jQuery的
clone()
方法可以拷贝元素。
比如,如果我想把
target2
从
left-well
拷贝到
right-well
,我们可以这样写:
$("#target2").clone().appendTo("#right-well");
你有没有发现两个jQuery方法合在一起使用了?这就叫方法链
function chaining
,使用起来很方便。
复制
target5
元素追加到
left-well
。
提示:
当你点击run tests后left-well会有两个#target5,千万别以为这是bug。实际上是因为编辑器中的代码会自动执行一次,点击run后会再执行一次,所以有两个#target5。
$("#target5").clone().appendTo("#left-well");
12.Target the Parent of an Element Using jQuery 使用jQuery来定位元素的父项
每个HTML元素根据继承属性都有父
parent
元素。
举个例子,
h3
元素的父元素是
<div class="container-fluid">
,
<div class="container-fluid">
的父元素是
body
。
jQuery有一个方法叫
parent()
,它允许你访问指定元素的父元素。
举个例子:让
left-well
元素的父元素
parent()
的背景色变成蓝色。
$("#left-well").parent().css("background-color", "blue")
13.Target the Children of an Element Using jQuery 使用jQuery定位元素的子元素
每个人都继承了自己的父母的一些属性,譬如:DNA、相貌、血型、体型等等,HTML也不例外。
许多HTML元素都有
children
(子元素),每个子元素都从父元素那里继承了一些属性。
举个例子,每个HTML元素都是
body
的子元素, 你的 "jQuery Playground"
h3
元素是
<div class="container-fluid">
的子元素。
jQuery有一个方法叫
children()
,它允许你访问指定元素的子元素。
举个例子:让
left-well
元素的子元素
children()
的文本颜色变成蓝色。
$("#left-well").children().css("color", "blue")
14.Target a Specific Child of an Element Using jQuery 使用jQuery定位元素的特定子元素
你已经看到了当用jQuery选择器通过id属性来选取元素的时候是多么方便,但是你不能总是写这么整齐的id。
幸运的是,jQuery有一些另外的技巧可以达到同样的效果。
jQuery 用CSS选择器来选取元素,
target:nth-child(n)
CSS选择器允许你按照索引顺序(从1开始)选择目标元素的所有子元素。
示例:你可以给目标元素的第三个子元素添加bounce class。
$(".target:nth-child(3)").addClass("animated bounce");
15.Target Even Numbered Elements Using jQuery 使用jQuery甚至可以编译编号的元素
示例:获取class为
target
且索引为奇数的所有元素,并给他们添加class。
$(".target:odd").addClass("animated shake");
记住,jQuery里的索引是从0开始的,也就是说:
:odd
选择第2、4、6个元素,因为target#2(索引为1),target#4(索引为3),target6(索引为5。
任务:获取class为
target
且索引为偶数的所有元素,也就是target#1(索引为0),target#3(索引为2),target5(索引为4),并给它们添加class
animated
和
shake
。
:odd 选择器
来选取奇数序号的元素。
:even 选择偶数序号的元素;
16.Use jQuery to Modify the Entire Page
我们已经玩了这么久的jQuery游乐场,是时候结束这一节了。
我们让整个body都有淡出效果(fadeOut):
$("body").addClass("animated fadeOut");
让我们做一些更为激动人心的事情,给body添加class
animated
和
hinge
。
hinge
:显示效果像被撕下来的样子
写静态页面:
超大屏幕(Jumbotron)
让图片居中:img-responsive center-block;
图片填不满整个容器的宽度时 用width:100%来填充;
<p>标签的自适应布局不能用line-height,用padding就可以了
HTML <cite> 标签
<cite> 标签通常表示它所包含的文本对某个参考文献的引用,比如书籍或者杂志的标题。
按照惯例,引用的文本将以斜体显示。
HTML <blockquote> 标签
标记长的引用:显示效果时会自动缩进
上面是引用段落 下面是正常的段落
在线的代码 我写的 hr那里有问题 不能自适应 一直在变化 下次要调整
人家的参考代码
通篇用的是bootstrap 框架
感想:bootstrap框架让代码简洁了好多,少敲了好多 用div+css 真的又笨又丑,不过我现在水平还不行,要多学习
页面写出来还是很有成就感的