使用jQuery操作DOM ,一些属性

本文深入探讨了前端开发领域的关键技术,包括HTML、CSS、JavaScript及其框架(如Vue、React、Angular等),并介绍了前端构建工具(如Webpack、Babel等)。同时,文章还涉及了后端开发、移动开发、游戏开发等领域的基础概念和技术。通过本文,读者能够全面了解前端开发的最新趋势和技术栈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、基本过滤选择器
此项选择器搭配基本选择器可以讲占到实际选择器应用的90%以上(可由document.getElementById及节点nodeChilds得知)

:first//(选取第一个元素)
:last//(选取最后一个元素)
:even//(选取索引是偶数的所有元素)
:odd//(选取索引是奇数的所有元素)
:eq(index)//(选取索引等于index的元素)
:gt(index)//(选取索引大于index的元素)
:lt(index)//(选取索引小于index的元素)
:header//(选取所有的h1,h2,h3等标题元素)
:animated//(选取当前正在执行动画的所有元素)

2、内容过滤选择器

:contains(text)//选取含有文本内容为text的元素
:empty//选取不包含子元素或者文本的空元素
:has(selector)//选取含有选择器所有匹配的元素的元素
:parent//选取含有子元素或者文本的元素

3、可见性过滤选择器
对于<input type="hidden"?/>不要考虑对其应用任何css属性。That's no way。

:hidden//选取所有不可见的元素(包括<input type="hidden" />、<div style="display:none">和<div style="visibility:hidden;">;若只选取<input type="hidden" />使用$("input:hidden")
:visible//选取所有可见元素

4、属性选择过滤器
在ie6中对css的属性过滤选择器不起作用,而jQuery的属性选择过滤器经测试后在ie6中有效。(6.0之前不起作用)想要了解^ $ *可参考相关正则表达式资料。

[attribute]//选取拥有此属性的元素
[attribute=value]//选取属性的值为value的元素
[attribute!=value]//选取属性的值不为value的元素
[attribute^=value]//选取属性的值以value开始的元素
[attribute$=value]//选取属性的值以value结束的元素
[attribute*=value]//选取属性的含有value的元素
[selector1][selector2][selectorN]//属性选择器合并成一个复合属性选择器,注意此处为属性选择器的并集,如$("div[id][class$='Bar']"

5、子元素选择过滤器
同上面的属性选择器一样,原先的css规则对ie6不起作用,经过jQuery可以选定该类元素。

:nth-child(index/even/odd/equation)//选取第index个子元素或者奇偶元素
:first-child//选取每个父元素的第一个元素(返回整个文档中每个元素的第一个子元素),如$("ul li:first-child");选择每个<ul>中第1个元素
:last-child//选取每个父元素的最后一个元素
:only-child//若某子元素是其父元素中惟一的子元素,将会被匹配

6、表单对象属性过滤选择器

:enabled//选择所有可用元素,例$("#form1:enabled")
:disabled//选取所有不可用元素
:checked//选取所有被选中元素(checkbox,radio)
:selected//选取所有被选中元素(下拉列表)

7、表单选择器

:input
:text
:password
:radio
:checkbox
:submit
:image
:reset
:button
:file
:hidden

 




使用jQuery操作DOM

DOM(Document Object Model)文档对象模型,是一种与浏览器、平台、语言无关的接口,使用该接口可以轻松地访问页面中所有的标准组件。

DOM操作分为三个方面:DOM Core(核心)、HTML-DOM和CSS-DOM

1) DOM Core:常使用getElementByID(),getElementsByTagName(),getAttribute()和setAttribute()

2) HTML-DOM:如document.forms,element.src

3) CSS-DOM:如element.style.color="#f00"

查找节点 1、查找元素节点:使用jQuery选择器器,例$("ul li:eq(0)").text()获取<ul>中第1个<li>节点内的文本内容; 2、查找属性节点:使用attr()方法获取节点属性值。当attr()方法参数为一个时得到属性值,例$("a:eq(0)").attr("href")获取第一个<a>的href属性;

创建节点

1、创建元素节点:包括两个步骤,一是创建新元素,二是将新元素插入到文档中(父元素之中);

1$(function(){
2  var $p=$("<p></p>");//不可使用$("<p>")或$("<P>"),可使用$("<p/>")
3  $p.text("一段文字");
4  $("body").append($p);
5  });

2、创建文本节点

1<P>$(function(){
2  var $p=$("<p>一段文字</p>");
3  $("body").append($p);
4  });</P>

3、创建属性节点(与创建文本节点类似)

插入节点

append()//向每个匹配的元素内部追加内容

appendTo()//将所匹配的元素追加到指定的元素中;$(a).appendTo(b)将a追加到b中

prepend()//向每个匹配的元素内部前置内容,如$("p").prepend("<b>您好</b>");产生<p><b>您好<b>Walkingp</p>

prependTo()//将所匹配的元素前置到指定的元素中。如$("<b>您好</b>").prependTo("p");

after()//在每个匹配的元素之后插入内容,如$("p").prepend("<b>您好</b>");产生<p>Walkingp</p><b>您好</b>

insertAfter()//将所有匹配元素插入到指定元素的后面,如$("<b>您好</b>").insertAfter("<p>");

before()//在所匹配的元素之前插入内容,如$("p").before("<b>您好</b>")产生:<b>您好</b><p>walkingp</p>

insertBefore()//将所匹配的元素插入到指定的元素的前面,如$("<b>您好</b>").insertBefore("p")

删除节点

1、remove()方法//从DOM中删除所匹配的元素,如$("ul li:eq(1)").remove();//删除第2个<li>元素节点,值得注意的是,此方法应该对应js对象方法中的 removeChild,removeChild方法移除节点并未真正释放,可以重新引用此节点。

01<scripttype="text/javascript">
02document.onreadystatechange=function(){
03    var ul=document.getElementsByTagName("ul")[0];
04    var li=ul.removeChild(ul.childNodes[0]);
05    for(i=0;i<ul.childNodes.length;i++)
06    {
07        ul.removeChild(ul.childNodes[i]);
08    }
09    ul.appendChild(li);
10}
11/*使用jQuery
12$(function(){
13    var $li=$("ul li:eq(0)").remove();
14    $("ul").append($li);
15});*/
16</script>
17</head>
18<body>
19<ul>
20    <li>项目一</li>
21    <li>项目二</li>
22    <li>项目三</li>
23</ul>

查看示例

2、empty()方法:清空节点,注意此方法并不删除节点,因此对于上面一个dom,使用如下代码

1$(function(){
2    var $li=$("ul li:eq(0)").empty();
3});

生成效果

www.51obj.cn

复制节点

clone()方法:克隆匹配的DOM元素并且选中这些克隆的副本

1<scripttype="text/javascript">
2$(function(){
3    $("button").click(function(){
4         $(this).clone().insertAfter(this);
5     });
6});
7</script>
8<button>复制我&clubs;</button>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值