扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一、选取DOM元素
创新互联公司是一家专注于成都网站设计、成都做网站与策划设计,恩阳网站建设哪家好?创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:恩阳等地区。恩阳做网站价格咨询:13518219792
jQuery的核心是通过各种选择器,选中DOM元素,可以用querySelectorAll方法模拟这个功能。
var $ = document.querySelectorAll.bind(document);
这里需要注意的是,querySelectorAll方法返回的是NodeList对象,它很像数组(有数字索引和length属性),但不是数组,不能使用pop、push等数组特有方法。
二、DOM操作
DOM本身就具有很丰富的操作方法,可以取代jQuery提供的操作方法。
尾部追加DOM元素。
// jQuery写法
$(parent).append($(child));
// DOM写法
parent.appendChild(child)
头部插入DOM元素。
// jQuery写法
$(parent).prepend($(child));
// DOM写法
parent.insertBefore(child, parent.childNodes[0])
删除DOM元素。
// jQuery写法
$(child).remove()
// DOM写法
child.parentNode.removeChild(child)
jquery基础事件,包括绑定事件、简写事件、复合事件;
一.绑定事件
jQuery 通过.bind()方法来为元素绑定这些事件。
形式:
bind(type, [data], fn)
参数:
type 表示一个或多个类型的事件名字符串;
[data]是可选的,作为 event.data 属性值传递一个额外的数据,这个数据是一个字符串、一个数字、一个数组或一个对象;
fn 表示绑定到指定元素的处理函数。
二、简写事件
为了使开发者更加方便的绑定事件,jQuery 封装了常用的事件以便节约更多的代码。 称之为简写事件。简写事件,绑定方法如下图,
三、复合事件
jQuery 提供了许多最常用的事件效果, 组合一些功能实现了一些复合事件, 比如切换功 能、智能加载等。
扩展资料
1、绑定事件fn函数
1)使用点击事件
$('input').bind('click', function () {//点击按钮后执行匿名函数
alert('点击!');
});
2)普通处理函数
$('input').bind('click', fn); //执行普通函数式无须圆括号
function fn() {
alert('点击!');
}
2、简写事件函数
1).mouseover()和.mouseout()表示鼠标移入和移出的时候触发。而.mouseenter()和.mouseleave()表示鼠标穿过和穿出的时候触发。
2).keydown()、.keyup()返回的是键码,而.keypress()返回的是字符编码。
3).focus()和.blur()分别表示光标激活和丢失,事件触发时机是当前元素。而.focusin()和.focusout()也表示光标激活和丢失,但事件触发时机可以是子元素。
3、复合事件示例,背景移入移出切换效果
$('div').hover(function () {
$(this).css('background', 'black'); //mouseenter 效果
}, function () {
$(this).css('background', 'red'); //mouseleave 效果,可省略
});
参考资料
jQuery官方网站-事件
jquery有text()、html()、val()这三种获得标签内容的方法;
补充:
根据ID获取:$("#idName").text(),
根据标签名获取:$("p").text(),
根据类名获取:$(“.class1”).text()
属性:
获得标签:$("#id")
获得标签内的代码:.html()
获得标签内的文本:.text()
修改标签内的代码:.html("内容");
修改标签内的文本:.html("内容");
获得标签属性:.attr("属性");
修改标签属性:attr("属性","属性值");
添加样式:addClass("样式名");
动态切换样式:toggleClass("样式名");
获取样式:css
添加元素:append("元素");
移去元素:.remove();
清空节点: .empty();
获取第二个li节点: var $li=$("ul li:eq(1)");
获取第二个li节点的文本内容: var li_txt=$
方法:
一:插入节点:
append() 向每个匹配的元素文本内部的后面追加内容
eg:p我想说:/p
代码:
$("p").append("b你好/b");
结果为:p我想说:b你好/b/p
appendto() 将所有的匹配的元素追加到指定的元素中。实际上,使用该方法是颠倒了常规的$(A).append(B)的操作,即不是B追加到A中,而是将A追加到B文本的后面中。
eg:p我想说:/p
代码:
$("b你好/b").appendTo("p");
结果为:p我想说:b你好/b/p
prepend() 向每个匹配的元素文本的内部前置内容。
eg:p我想说:/p
代码:
$("p").prepend("b你好/b");
结果为:pb你好/b我想说:/p
prependto() 将所有的匹配的元素前置到指定的元素中。实际上,使用该方法是颠倒了常规的$(A).append(B)的操作,即不是B前置到A中,而是将A前置到B中
eg:p我想说:/p
代码:
$("b你好/b").prependto("p");
结果为:pb你好/b我想说:/p
after() 向每个匹配的元素之后插入内容 。
eg:p我想说:/p
代码:
$("p").after("b你好/b");
结果为:p我想说:b你好/b/p
insertAfter 将所有的匹配的元素插入到指定的元素后面。实际上,使用该方法是颠倒了常规的$(A).append(B)的操作,即不是B插入到A后面,而是将A插入到B后面。
eg:p我想说:/p
代码:
$("b你好/b").after("p");
结果为:p我想说:b你好/b/p
before() 在每个匹配的元素之前插入内容
eg:p我想说:/p
代码:
$("b你好/b").after("p");
结果为:p我想说:b你好/b/p
insertBefore():将A标签插入到B标签的前面
二:删除:
①remove 该节点所包含的所有的后代节点将同时被删除 也可以通过参数来选择
②empty 清空节点,它能清空元素中的所有后代节点
三:替换节点:
①replaceWith() 作用是将所有匹配的元素都替换成指定的HTML或DOM元素
②replaceAll()
四:包裹节点:
①warp() 作用是是将所有元素进行单独包裹
②warpAll() 作用元素的是所有匹配的元素用一个元素来包裹
③warpinner() 作用是将每一个的子内容(包括文本节点)用其他结构化的标记包裹起来
五:设置和获取HTML、文本值
1、html():
2、text
3、val
六:遍历节点
1、children(): 取得匹配元素的子元素
2、next():取得匹配元素后面紧邻的同辈元素
3、prev():取得匹配元素前面紧邻的同辈元素
4、siblings():取得匹配元素前后所有的同辈元素
5、closest():取得最近的匹配元素
七:css-dom
css 获取样式的属性
offset()
position
scroll
scrollLeft
样式操作:
1:获取样式和设置样式 attr
eg:p class="myClass" title="选择你最喜欢的水果"你最喜欢的水果是?/p
获取样式: var p_class=$("p").attr("class");
设置样式:$("p").attr("class","high");
2:追加样式 addClass
style
.high{
font-weight:bold 粗体字
color:red 字体颜色
}
.another{
font-weight:italic 斜体字
color:blue 字体颜色
}
/style
追加样式:
$("input:eq(2)").click(function(){$("p".addClass("another"))})
☆在css中有以下规定:
①如果给一个元素添加了多个class值,那么就相当于合并了他们的样式
②如果不同的class设置了同一样式,则后者覆盖前者
addClass attr
对同一个网页元素进行操作 ptest/p ptest/p
第一次使用 $"p".addClass("high"); $"p".attr("class","high");
第一次结果 p class="high"test/p p class="high"test/p
再次使用 $"p".addClass("another"); $"p".attr("class","another");
最终结果 p class="high another"test/p p class="another"test/p
3:移除样式 removeClass
p class="high another"test/p
移除一个:$"p".removeClass("high");
移除二个:$"p".removeClass("high").removeClass("another");==$"p".removeClass("high another")
移除全部:$"p".removeClass();
4:切换样式 toggle
5:判断是否含有摸个样式 hasClass
可以用来判断元素中是否含有某个class,如果有返回true否则返回false
使用步骤如下:
1.jQuery给放到一个文件夹里面,方便我们待会引用这个jQuery,这里我就放到我项目的js文件夹里面。
2.然后我们来开始编辑HTML界面代码。
3.使用script标签把jQuery引入到我们的HTML界面。src引号里面的就是我们的jQuery路径名称。
4.接着再书写一个script标签对,里面写上jQuery入口函数,这样,当我们的HTML加载完成之后就会执行我们的jQuery代码
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流