类别:前端知识
日期:2020-10-08 浏览:1998 评论:0
一、标签操作之样式操作
样式类
addClass(); // 添加指定的CSS类名。 removeClass(); // 移除指定的CSS类名。 hasClass(); // 判断样式存不存在 toggleClass(); // 切换CSS类名,如果有就移除,如果没有就添加。
CSS
css("color","red") //DOM操作:tag.style.color="red"
示例:
$("p").css("color", "red"); //将所有p标签的字体设置为红色
位置:
offset() // 获取匹配元素在当前窗口的相对偏移或设置元素位置 position() // 获取匹配元素相对父元素的偏移 scrollTop() // 获取匹配元素相对滚动条顶部的偏移 scrollLeft() // 获取匹配元素相对滚动条左侧的偏移 例1 $("#bb").offset({"left":100,"top":100}) 例2 $(window).scrollTop(0); // 跳到首页
.offset()
方法允许我们检索一个元素相对于文档(document)的当前位置。
和 .position()
的差别在于: .position()
是相对于相对于父级元素的位移。
示例:
尺寸:
height() width() innerHeight() innerWidth() outerHeight() outerWidth()
二、标签操作之文本内容操作
html
html()是获取选中标签元素中所有的内容 html(val)设置值:设置该元素的所有内容 会替换掉 标签中原来的内容 $('ul').html('<a href="#">百度一下</a>') //可以使用函数来设置所有匹配元素的内容 $('ul').html(function(){ return '哈哈哈' })
text
text() 获取所有匹配元素包含的文本内容 text(val) 设置该所有匹配元素的文本内容 注意:值为标签的时候 不会被渲染为标签元素 只会被当做值渲染到浏览器中
val
// 用途:val()用于操作input的value值 // 示范一: <input type="radio" name="sex" value="male"> <input type="radio" name="sex" value="female"> <input type="radio" name="sex" value="none"> $('input[type=radio]').val(['male',]) // 示范二: <input type="checkbox" name="hobbies" value="111"> <input type="checkbox" name="hobbies" value="222"> <input type="checkbox" name="hobbies" value="333"> $('input[type=checkbox]').val(['111','222'])
三、标签操作之属性操作
用于ID等或自定义属性:
attr(attrName) // 返回第一个匹配元素的属性值 $('.box2 img').attr('title','美女') // 为所有匹配元素设置一个属性值 attr({'title': '美女', 'alt':'图片被狗吃了'}) // 为所有匹配元素设置多个属性值 removeAttr('title') // 从每一个匹配的元素中删除一个属性
用于checkbox和radio
prop('value') // 获取value属性的值 prop('checked',true); // 设置属性 removeProp('value') // 移除value属性
注意:
在1.x及2.x版本的jQuery中使用attr对checkbox进行赋值操作时会出bug,在3.x版本的jQuery中则没有这个问题。为了兼容性,我们在处理checkbox和radio的时候尽量使用特定的prop(),不要使用attr("checked", "checked")。
<h3>爱好</h3> <input type="checkbox" name="hobbies" value="basketball">篮球 <input type="checkbox" name="hobbies" value="football">足球 <input type="checkbox" name="hobbies" value="coding">编程 <h3>性别</h3> <input type="radio" name="sex" value="male"> <input type="radio" name="sex" value="female"> <input type="radio" name="sex" value="none"> <script> $(':checkbox[value=football]').prop('checked',true); $(':radio[value=male]').prop('checked',true); </script>
案例:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h3>菜单</h3> <input type="button" value="全选" id="all"> <input type="button" value="反选" id="reverse"> <input type="button" value="取消" id="cancel"> <p> 蒸羊羔<input type="checkbox" name="menu"> </p> <p> 蒸鹿茸<input type="checkbox" name="menu"> </p> <p> 蒸熊掌<input type="checkbox" name="menu"> </p> <p> 烧花鸭<input type="checkbox" name="menu"> </p> <p> 烧雏鸡<input type="checkbox" name="menu"> </p> <p> 烧子鹅<input type="checkbox" name="menu"> </p> <script src="jquery-3.3.1.min.js"></script> <script> $('#all').click(function () { $('p input').prop('checked', true); }); $('#reverse').click(function () { $('p input').each(function () { $(this).prop('checked', !$(this).prop('checked')); }) }); $('#cancel').click(function () { $('p input').prop('checked', false); }); </script> </body> </html> 案例:全选、反选、取消
四、标签操作之文档处理
//内部 $(A).appendTo(B) // 把A追加到B内部的最后面 $(A).prependTo(B) // 把A前置到B内部的最前面 //外部 $(A).insertAfter(B) // 把A放到B外部的后面 $(A).insertBefore(B) // 把A放到B外部的前面
了解
//内部 $(A).append(B) // 把B追加到A内部的最后 $(A).prepend(B) // 把B前置到A内部的最前面 //外部 $(A).after(B) // 把B放到A外部的后面 $(A).before(B) // 把B放到A外部的前面
移除和清空元素
$('.p1').remove() // 从DOM中删除所有匹配的元素。====>把元素本身删掉 $('.p1').empty() // 删除匹配的元素集合中所有的子节点====》把元素的子元素都删掉(包含文本内容)
案例:
替换
replaceWith() replaceAll()
克隆
clone() // clone方法不加参数true,克隆标签但不克隆标签带的事件 // clone方法加参数true,克隆标签并且克隆标签带的事件
案例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>克隆</title> <style> #b1 { background-color: deeppink; padding: 5px; color: white; margin: 5px; } #b2 { background-color: dodgerblue; padding: 5px; color: white; margin: 5px; } </style> </head> <body> <button id="b1">屠龙宝刀,点击就送</button> <hr> <button id="b2">屠龙宝刀,点击就送</button> <script src="jquery-3.3.1.min.js"></script> <script> // clone方法不加参数true,克隆标签但不克隆标签带的事件 $("#b1").on("click", function () { $(this).clone().insertAfter(this); }); // clone方法加参数true,克隆标签并且克隆标签带的事件 $("#b2").on("click", function () { $(this).clone(true).insertAfter(this); }); </script> </body> </html>
发表评论 / 取消回复