第4章 jQuery之dom操作

我们把页面上的元素分为3种节点:

1、元素节点     用过选择器获取

2、属性节点

3、文本节点

 

 

 

4.1 属性节点

4.1.1 一般

获取: attr(name)方法

如:<div id="zhangsan"></div>,获取id的值

则:$("div").attr("id");

结果:zhangsan

 

设置:

1attr(key,value)方法  --- 设置单个属性值

如:<img/>,为图像设置src属性

则:$("img").attr("src","test.jpg");

结果<img src= "test.jpg" />

 

2attr(properties) 方法 -- 设置多个属性值

如:<img/>为图像设置srcalt属性

则:$("img").attr({ src: "test.jpg", alt: "Test Image" });

结果:<img src= "test.jpg"  alt:="Test Image" />

 

3attr(key,fn)方法 -- 函数的返回值作为属性值

如:<img src="test.jpg"/>,把src属性的值设置为title属性的值

则:$("img").attr("title", function() { return this.src });

结果:<img src="test.jpg" title="test.jpg" />

 

注意:这里的函数可以有两个参数:

index当前元素的索引值

attr原先的属性值

 

移除:removeAttr(name)

如:<img src="test.jpg"/>,图像的src属性删除

则:$("img").removeAttr("src");

结果:<img />

4.1.2 样式

添加

1css() ---- 添加一个

如:$("#mover").css("font-size","30px");


2addClass(class|fn) ---- 添加多个

如:$("#itcastit").addClass("spanone1")

注意:

1、多个用“逗号“隔开

2fn此函数必须返回一个或多个空格分隔的class

   有两个参数

index:索引值,

class:原先的class属性值

移除

removeClass([class|fn])

如:$("#itcastit").removeClass();

注意:

1class 可以指定需移除的样式名,如果没有指定表示移除所有

2fn:此函数必须返回一个或多个空格分隔的class

   有两个参数

index:索引值,

class:原先的class属性值

 

toggleClass(class|fn[,sw]):如果存在(不存在)就删除(添加)一个类。

class:类名

class,sw:

1:要切换的CSS类名

2:用于决定元素是否包含class的布尔值。

如:

var count = 0;

$("p").click(function(){

     $(this).toggleClass("highlight", count++ % 3 == 0);

});

表示每点击三下加上一次 'highlight' 

 

function(index, class,switch)[, switch] :

1:用来返回在匹配的元素集合中的每个元素上用来切换的样式类名的一个函数。接收元素的索引位置和元素旧的样式类作为参数。

2: 一个用来判断样式类添加还是移除的 boolean 值。 

如:

$('div.foo').toggleClass(function() {

  if ($(this).parent().is('.bar') {

     return 'happy';

    } else {

     return 'sad';

   }

});

表示:根据父元素来设置class属性

 

包含

hasClass() 是否有某样式

如:$("#itcastit").hasClass("spanone1")

4.2 元素节点

4.2.1 获取

使用选择器获取,前面已经讲过,不清楚的朋友请看前面章节,

4.2.2 创建

元素内部

1append(content)  ---- 追加到后面

如:<p>I would like to say: </p>,向其内部后面加入<b>Hello</b>

则:$("p").append("<b>Hello</b>");

结果:<p>I would like to say: <b>Hello</b></p>

 

2prepend(content)  ---- 追加到前面

如:<p>I would like to say: </p>,向其内部前面加入<b>Hello</b>

则:$("p"). prepend ("<b>Hello</b>");

结果:<p><b>Hello</b>I would like to say: </p>

 

3appendTo(content)  ---- 追加到后面

如:把所有段落追加到ID值为foo的元素中

则:$("p").appendTo("div");

结果:

 

4prependTo(content)  ----  追加到前面

则:$("p").prependTo("#foo");

结果:<div id="foo"><p>I would like to say: </p></div>

元素外部

1after(content|fn) --- 追加到后面

如:<p>I would like to say: </p>,向其后面加入<b>Hello</b>

则:$("p").after("<b>Hello</b>");

结果:<p>I would like to say: </p><b>Hello</b>

注意:

这里还可以是函数,但是函数必须返回一个html字符串

 

2before(content|fn) --- 追加到前面

如:<p>I would like to say: </p>,向其前面加入<b>Hello</b>

则:$("p").before("<b>Hello</b>");

结果:<b>Hello</b><p>I would like to say: </p>

注意:

这里还可以是函数,但是函数必须返回一个html字符串

 

3insertAfter(content) --追加到后面

如:<p>I would like to say: </p><div id="foo">Hello</div>

则:$("p").insertAfter("#foo");

结果:<div id="foo">Hello</div><p>I would like to say: </p>

 

4insertBefore(content) --追加到前面

如:<div id="foo">Hello</div><p>I would like to say: </p>

则:$("p").insertBefore("#foo");

结果:<p>I would like to say: </p><div id="foo">Hello</div>

4.2.3 移除

1remove([expr]) --- 删除

如:<p>Hello</p> how are <p>you?</p>,删除p元素

则:$("p").remove();

结果:how are

注意:expr:用于筛选元素的jQuery表达式

如:<p class="hello">Hello</p> how are <p>you?</p>,带有hello类的段落删除

则:$("p").remove(".hello");

结果:how are <p>you?</p>

 

2empty() -- 删除内容

如:<p>Hello, <span>Person</span> <a href="#">and person</a></p>,删除p元素的内容

则:$("p").empty();

结果:<p></p> 

4.2.4 复制

clone([Even[,deepEven]])

参数:

1个:事件是否复制

2个:子元素是否复制

如:<b>Hello</b><p>, how are you?</p>

则:$("b").clone().prependTo("p");

结果:<b>Hello</b><p><b>Hello</b>, how are you?</p>

4.2.5 替换

replaceAll(selector) 

如:<p>Hello</p><p>cruel</p><p>World</p>

则:$("<b>Paragraph. </b>").replaceAll("p");

结果:<b>Paragraph. </b><b>Paragraph. </b><b>Paragraph. </b>

4.2.6 遍历

siblings([expr])

取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合。可以用可选的表达式进行筛选。

 

如:<p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>

则:$("div").siblings()

结果:<p>Hello</p>, <p>And Again</p>

 

如:

<div><span>Hello</span></div>

<p class="selected">Hello Again</p>

<p>And Again</p>

则:$("div").siblings(".selected")

结果:<p class="selected">Hello Again</p>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值