使用jQuery操作 DOM

使用jQuery操作 DOM

使用jQuery操作CSS样式
使用jQuery操作网页元素
使用jQuery操作文本与属性值内容
使用jQuery操作DOM节点
使用jQuery遍历DOM节点
使用jQuery操作CSS-DOM

1.使用jQuery操作CSS样式

(1)设置一个属性值。
		$("p").css("background-color","red"); 

(2)同时设置多个样式
		$("p").css({            
			"background-color":"blue" ,
			"border-radius":"50%",
			"border":"3px dotted yellow"
		});
(3)获取样式值
		alert($("p").css("border"));  
		
(4)添加类属性值,影响css中操作元素样式。
		元素对象.addClass(类属性值);
		元素对象.addClass(多个类属性值);
		
(5)  移除类属性值,操作样式改变。
		元素对象.removeClass(类属性值);

(6)toggleClass 切换类属性值。影响css样式改变。
		元素对象.toggleClass(类属性值);
		-- 显示class属性值 对应的css样式的显示和隐藏。
		
(7) hasClass(类属性值) 方法,判断,是否包含某个类属性值。
			元素对象.hasClass(类属性值);
			-- 该方法返回true  或 false
			
	示例:
		 $("button").click(function (){
		   //通过hascalss方法 判断,是否具有某个class属性值。
			if ( ! $("p").hasClass("p1")){
				$("p").addClass("p1");
			}else{
				$("p").removeClass("p1");
			}
		})

2. 使用jQuery操作文本与属性值内容

(1)html内容操作。
		js 中。用的是: innerHTML
		JQ 中。 用的是: html()
		
		直接调用属性和方法的时候,就是获取标签中的内容。
				js元素对象.innerHTML;
				jq元素对象.html();
		给属性或方法赋值的时候,就是给标签中设置内容。
				js元素对象.innerHTML= "内容";
				jq元素对象.html("内容");
		
(2)text文本操作
		获取元素的text属性内容。
				jq元素对象.text();
		
		设置元素的text 文本内容。
				jq元素对象.text("内容");
		
		注意:
		-1-  通过text()方法获取元素内容,仅得到元素中的纯文本内容。
			  不会返回子标签。
		-2-  如果元素对象写入文本,那么该元素对象中的子标签被覆盖。不显示。
		-3-  如果元素对象写入的文本中,包含标签内容,也会当作普通文本输出
			,无标签效果。

(3)value 属性值操作。
	    jq中获取元素value值的方法 : val();
		语法:  
			获取value值:	jq元素对象.val();
			设置value值:	jq元素对象.val("value值");

		注意:value值设置的内容,不解析html标签。

3. 使用jQuery操作DOM节点

-1- 查找节点(前面章节已讲)
		通过选择器获取节点:
			id选择器,
			类选择器,
			标签选择器,
			属性选择器,
			层次选择器等。
-2- 创建节点
		工厂函数$()用于获取或创建节点
			$(selector):通过选择器获取节点
			$(element):把DOM节点转化成jQuery节点
			$(html):使用HTML字符串创建jQuery节点		

-3- 插入节点
		append()  向后添加
			语法: 元素1.append(元素2)
					把元素2添加到元素1中,最后的位置。
					
		appendTo() 向后添加
				语法: 元素2.appendTo(元素1)
					把元素2 添加到元素1中,最后的位置。
		
		prepend 向前添加
				语法: 元素1.prepend(元素2)
					把元素2 添加到元素1中,最前面的位置。
	
		prependTo 向前添加
				语法: 元素2.prependTo(元素1)
					把元素2 添加到元素1中,最前面的位置。
					
-4- 元素外部插入同辈节点
		after(content)	
			$(A).after (B) 表示将B插入到A之后
			如:$("ul").after($newNode1);
		insertAfter(content)	
			$(A). insertAfter (B)表示将A插入到B之后
			如:$newNode1.insertAfter("ul");
		before(content)	
			$(A). before (B)表示将B插入至A之前
			如:$("ul").before($newNode1);
		insertBefore(content)	
			$(A). insertBefore (B)表示将A插入到B之前
			如:$newNode1.insertBefore("ul");
					
	
-5- 删除节点
		jQuery提供了三种删除节点的方法
			remove():删除整个节点
			empty():清空节点内容			
			detach():删除整个节点,
					保留元素的绑定事件、附加的数据


	
-6- 复制节点

		clone(参数)用于复制某个节点
			参数: true 代表赋值节点和事件
				   alse 只复制节点。

-7- 替换节点
		元素1.replaceWith(元素2)    
			替换为 ——> 把元素1替换为元素2 ——> 保留元素2
		
		元素1.replaceAll(元素2)
			替换掉 ——> 用元素1替换掉元素2 ——> 保留元素1
		
-8- 获取元素属性
		attr()用来获取与设置元素属性

	(1)获取元素属性
		$(选择器).attr(属性名) ;  
		
	(2)设置元素属性
		$(选择器).attr({[属性名1:属性值1],…}) ;

	(3)删除元素的属性
		$(选择器).removeAttr(属性名)

	注意:当设置和获取表单中的,复选框,下拉菜单的 checked属性,和selected属性时候
			attr()方法无效
			使用prop方法来操作。
			
		attr()方法,操作属性,和prop()方法的相同和区别。
		
		相同点: 都可以操作元素的属性的获取和设置。使用方式相同。
		不同点: attr()方法设置自定义属性
				 prop()方法设置元素固有属性 
					例如:复选框,下拉菜单的 checked属性,和selected属性,用prop()方法

4 .节点的选取遍历操作

(1)选取子元素  $(选择器).children()
		 //获取div下所有子元素,并设置样式
		 $("div").children().css("color","#fff");

(2)选取同辈元素
		prev()获取前一个元素,
		next()获取下一个元素,
		siblings()获取所有兄弟元素
		
(3) 选取前辈元素
		parent()	获取父辈元素		
		parents()	获取祖辈所有元素。

(4)其他的选取遍历方法

		each( ) :规定为每个匹配元素规定运行的函数
			例如:获取每一个 li标签元素 ,通过回调函数执行操作,例如做样式改变等。
			 $("li").each(function(){

			 })

		end()方法,end方法,获取元素 调用筛选方法之前的状态,
			例如:获取了li标签中的first 元素做完样式改变后,
					用end()方法,返回选择li元素的状态,再选择最后一个元素,  
					设置样式效果。				
			
				$("li").first().css("backgroundColor","#d8abde").
				end().last().css("backgroundColor","#44f58b");

5.CSS-DOM 其他的操作

	语法			功能
	css()			设置或返回匹配元素的样式属性
	height([value])	设置或返回匹配元素的高度
	width([value])	设置或返回匹配元素的宽度 
	offset([value])	返回以像素为单位的top和left坐标。仅对可见元素有效
	offsetParent( )	返回最近的已定位祖先元素。定位元素指的是元素的CSS position值被设置为relative、absolute或fixed的元素
	position( )		返回第一个匹配元素相对于父元素的位置
	scrollLeft([position])	参数可选。设置或返回匹配元素相对滚动条左侧的偏移
	scrollTop([position])	参数可选。设置或返回匹配元素相对滚动条顶
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值