咨询热线:13613863834 联系人:龙伦光 地址:宁夏自治省银川市西夏区怡祥新村27号楼2单元202
从零开始学 Web 之 jQuery(四)元素的创建添加与删除,自定义属性
来源:宝马会最新网站 发布时间:2019-07-17 点击量:375
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新......
github:https://github.com/Daotin/Web微信公众号:Web前端之巅博客园:http://www.cnblogs.com/lvonve/CSDN:https://blog.csdn.net/lvonve/在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。现在就让我们一起进入 Web 前端学习的冒险之旅吧!
一、元素的创建添加和删除
1、方式一:以对象的方式创建元素
append,appendTo :在被选元素所有子元素的结尾插入内容(增加子元素)。prepend,prependTo:在被选元素所有子元素的开头插入元素(增加子元素)。before:在当前被选元素之后插入内容(相当于增加兄弟元素)。after:在当前被选元素之前插入内容(相当于增加兄弟元素)。语法:
// 元素的创建$("html代码"); // $("<a herf="http://fengdaoting.com">Daontin</a>")// 元素的添加(被动)父元素.append(子元素); // $("#dv").append($("<a>...</a>"));
// 元素的添加(主动)子元素.appendTo(父元素); // $("<a>...</a>").appendTo($("#dv"));
案例:动态创建列表
<script> $("#btn1").click(function () { var ulObj = $("<ul></ul>"); // 创建ul添加到div $("#dv").append(ulObj); // 创建li添加到ul,并设置鼠标进入离开事件 $("<li>鸣人</li><li>卡卡西</li><li>佐助</li>").appendTo(ulObj).mouseenter(function () { $(this).css("backgroundColor","yellow"); }).mouseleave(function () { $(this).css("backgroundColor",""); }); });</script>
注意:获取的元素通过 append 或者 appendTo 的方式添加到另一个元素的时候,相当于剪切。如果要保留获取的元素,可以在 append 或者 appendTo 之前使用克隆 clone() 方法。
2、方式二:以字符串的方式创建元素
语法:
父元素.html("html代码");// $("#dv").html("<a herf="http://fengdaoting.com">Dao</a>");
3、元素的删除
3.1、清除父元素中所有的子元素
语法1:
父元素.html("");
语法2:
父元素.empty();
3.2、清除单个子元素
语法:
子元素.remove();
二、元素 value 属性的操作
一般 val()
是获取表单的 value 属性;val(值);
设置表单的 value 属性。
示例1:获取设置文本框value的值
<input type="text" value="text" id="txt"> //------------------------------------------<script> $("#btn1").click(function () { // 获取文本框的value属性值 console.log($("#txt").val()); // 设置文本框的value属性值 $("#txt").val("text2"); });</script>
示例2:获取设置单选框value的值
<input type="radio" value="1" name="sex" id="nan">男<input type="radio" value="2" name="sex">女//-----------------------------------------------console.log($("#nan").val());$("#nan").val("3");
示例3:获取设置复选框value的值
<input type="checkbox" value="1">吃饭<input type="checkbox" value="2" id="c1">睡觉<input type="checkbox" value="3">大豆豆//---------------------------------------console.log($("#c1").val());$("#c1").val("33");
示例4:获取设置文本域value的值
<textarea name="text" id="t1" cols="30" rows="10"> 等你下课</textarea>//------------------------------------------------console.log($("#t1").val()); // 等你下课$("#t1").val("Jay"); console.log($("#t1").val()); // Jay// 成对的标签可以使用 text() 方法来获取和设置console.log($("#t1").text());// 等你下课$("#t1").text("Jay");console.log($("#t1").text());// Jay
1、使用 val() 进行设置之后,在源码中 value 的值没有改变,但是打印出来的值改变了。
2、使用 text() 行设置之后,在源码中 value 的值也改变了。
3、成对的标签可以使用 text() 方法来获取和设置,推荐使用 text();
示例5:获取设置下拉框value的值
<select id="s1"> <option value="1">op1</option> <option value="2">op2</option> <option value="3">op3</option> <option value="4">op4</option> <option value="5">op5</option></select>//-----------------------------------console.log($("#s1").val());$("#s1").val("3");console.log($("#s1").val());
1、获取下拉框的 value 属性,就是获取 option 的 value 的值
2、设置下拉框的 value 属性,就是选中相应 value 值的 option 标签。
三、自定义属性
1、attr
语法:
元素.attr("自定义属性名","自定义属性值");
示例:
<div id="dv"></div>//-------------------------------------------$("#dv").attr("hello","world"); //<div id="dv" hello="world"></div>$("#dv").attr("id","box"); //<div id="box"></div>
1、attr 方法主要操作元素的自定义属性的,但是也可以操作元素的自带属性。但是操作元素是否选中的 checked 属性时不合适。
2、操作元素的选中 checked 属性,推荐使用 prop 方法。
自定义属性的选中问题
元素.attr(); // 获取某个元素是否被选中的状态元素.attr("checked",true); //设置某个元素为选中
<input type="radio" value="1" name="sex" id="r1">男<input type="radio" value="2" name="sex">女//-----------------------------------------------console.log($("#r1").attr("checked"));$("#r1").attr("checked", true);
PS:attr 方法针对单选框和复选框的是否选中问题操作复杂(选中返回值为 checked,未选中返回值为 undefined,不是直接显示 true 或者 false 那么简单,并且反复操作多次易失效),几乎不用。
2、prop
主要用于获取元素的选中问题。
语法:
元素.prop("checked"); // 获取这个元素是否选中元素.prop("checked",true/false); // 设置这个元素选中或不选中
示例:
<input type="checkbox" value="1">吃饭<input type="checkbox" value="2" id="c1">睡觉<input type="checkbox" value="3">大豆豆//--------------------------------------------console.log($("#c1").prop("checked")); // false$("#c1").prop("checked", true); // true
案例:全选与全不选
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> * { padding: 0; margin: 0; } table { border-collapse: collapse; } td { width: 100px; height: 30px; background-color: #f8f8f8; border: 1px solid #7b7b7b; text-align: center; } .th td { background-color: #e95d71; color: #f8f8f8; } .little-td { width: 50px; } </style></head><body><div id="dv"> <table > <thead > <tr> <td ><input type="checkbox"></td> <td>Web技术</td> </tr> </thead> <tbody > <tr> <td ><input type="checkbox"></td> <td>Web技术</td> </tr> <tr> <td ><input type="checkbox"></td> <td>Web技术</td> </tr> <tr> <td ><input type="checkbox"></td> <td>Web技术</td> </tr> <tr> <td ><input type="checkbox"></td> <td>Web技术</td> </tr> </tbody> </table></div><script src="jquery-1.12.4.js"></script><script> // 设置总的复选框对子复选框的影响 $(".th input").click(function () { $(".little-td input").prop("checked", $(this).prop("checked")); }); // 设置每一个子复选框事件 $(".little-td input").click(function () { var childLength = $(".tb").find("input").length;//总的子复选框的个数 var actualLength = $(".tb :checked").length;// 已经选中的子复选框的个数 $(".th input").prop("checked", childLength === actualLength); });</script></body></html>
0、border-collapse: collapse;
细线表格。
1、子类复选框的集合在 prop 和 click 中会自动遍历操作。
2、var actualLength = $(".tb :checked").length;
中 .tb
和 :checked
中间有空格,表示的是 类 tb 下面的子元素集合中带有 checked 的元素,而没有空格表示,设置了类 tb 的所有元素集合中带有 checked 的元素。一个是 tb 下面的子元素集合中,一个是 tb 自身元素集合中。
相关产品
-
大多数小留学生勤奋好学,取得不俗成绩。今年在泰国举行的国际奥数比赛中,美国队破天荒击败老牌劲旅中国队,时隔21年再获冠军,这令人们十分惊讶,不是说美国人的数学很差吗,为什么还能拿奥数世界冠军?原来,随着移民的流入,成绩优异的亚裔孩子成为美国数理化竞赛的主力,此次奥赛美国队共六个队员,就有两个华裔。
-
金子森表示,“车库咖啡的命名是希望能在小地方成就大梦想,我们要营造好、创造好、引导好、建设好一个具有创新文化氛围的土壤,没有这样的土壤,没有创新的意识和思想是不会产生创新技术和资本驱动的”。
-
SteelSeries赛睿是全球专业游戏装备的领军品牌,2001年成立于丹麦哥本哈根,产品类别主要有:耳机,鼠标垫,鼠标,以及键盘。
-
对此,科纳申科夫在俄国防部当天发布的新闻公报中说,布伦南的“焦土战”谬论反让世人清楚地记起1962年至1971年间美空军在越南和老挝撒下上百吨落叶剂,破坏了当地的森林、农作物和其他生物。
-
如果成为印尼国家队主教练,穆尼里奥的年薪将高达1300万英镑,如果他拒绝印尼足协,后者将向希丁克伸出“橄榄枝”,显然,印尼足协希望高薪聘请世界名帅以重振印尼足球。
-
尽管「下一个十亿」是最近几年才流行起来的口号,Google很早就认定中国市场有着巨大的潜力。早在2000年,Google创始之初,就提供了中文版本的搜索主页Google.com。2005年,Google请来了微软亚洲研究院的创始高管李开复担任全球副总裁,专职中国业务,并在中国建立研发中心。
-
中新网北京6月12日电 (记者 王曦)第一届“全球通用杯”京津冀邀请赛暨鸟巢笼式足球推广活动启动仪式12日在鸟巢外场足球场举行,参赛的三支河北球队包揽三项冠军,成为赛事最大赢家。
-
赛事由石景山区体育管理中心主办、真爱跑俱乐部承办,吸引了近千名户外运动爱好者报名。本次比赛共设全程马拉松、半程马拉松及十公里体验三个项目。
热点资讯
- 中国驻加拿大大使馆发表声明说,媒体指责中国“网络攻击”是典型的“小偷大喊大叫,抓小偷”。2019-07-17
- 吊竹梅养护及其简单而且还能治病2019-07-17
- 苹果全面屏iPadPro背后故事:本该由乔布斯发布的心愿之作2019-07-17
- 为iPhoneXI让路:分析师称苹果iPhoneX/SE或于今秋停产2019-07-17
- 扫黑除恶专项斗争取得重大阶段性成果涉黑涉恶线索群众举报占三成2019-07-17
- 怎样炒大虾好吃又简单?2019-07-17
- 10.3福包精粹:免费领联通500M全国流量、苏宁新人满30-30元神券2019-07-17
- 游族网络发布2018上半年财报净利润同比增长45.21%2019-07-17