小言_互联网的博客

jQuery常见方法汇总

347人阅读  评论(0)

一、遍历筛选元素的方法

find()

  find(selector)方法实现的是找出正在处理的元素的后代元素的功能,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo").find("span").css({
   "border":"2px solid red"});
		});
	</script>

  找出class为demo的元素底下的span标签,并设置相应的css样式:

children()

  children(selector)方法实现的功能与find()类似,但是不同的是,children()方法取得的是子元素的合集,并且只能找到DOM树的下一级子元素,例如这里像上述代码设置demo底下的span标签:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo").children("span").css({
   "border":"2px solid red"});
		});
	</script>

  这里就没有办法变色,因为span不是demo的下一级子元素,不加参数默认所有子元素都获取到:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo").children().css({
   "border":"2px solid red"});
		});
	</script>

siblings()

  siblings(selector)方法实现的是筛选同辈元素的功能,例子如下:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo1").siblings().css({
   "border":"2px solid red"});
		});
	</script>


  同样的,siblings()方法也可以添加参数,用于匹配指定的元素。

first()

  first()方法实现的是获取匹配的第一个元素,相当于:first选择器,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$("span").first().css({
   "border":"2px solid red"});
			$("li").last().css({
   "border":"2px solid red"});
		});
	</script>

  匹配到的就是第一个span元素,last()实现的就是匹配最后一个元素,结果如下:

eq()

  eq(index)方法实现的是获取第N个元素,与选择器:eq(index)类似,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$("li").eq(0).css({
   "border":"2px solid red"});
			//注意这里的索引是和数组一样,从0开始
		});
	</script>

parent()

  parent(selector)方法实现的是获取父元素的功能,但是只能沿DOM树向上遍历一级,若要再往上遍历,则需要使用parents()方法,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".getParent").parent().css({
   "border":"2px solid red"});
		});
	</script>

  这里只能匹配到上一级的相应父元素:

  使用parents()可以匹配到祖先元素:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".getParent").parents(".demo").css({
   "border":"2px solid red"});
		});
	</script>

filter()

  filter(selector)方法实现的是筛选出与指定表达式匹配的元素集合的功能,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$("ul li").filter(".demo1").css({
   "border":"2px solid red"});
		});
	</script>

end()

  end()方法实现的是将匹配的元素列变为前一次的状态的功能,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$("ul li").filter(".demo1").end().css({
   "border":"2px solid red"});
		});
	</script>

  其实就是将filter()的匹配去除了,相当于匹配ul li并改变样式:

has()

  匹配元素中拥有指定元素的元素:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo li").has("span").css({
   "border":"2px solid red"});
		});
	</script>

prev()

  匹配指定元素的前一个元素,next()匹配下一个元素,如果是prevAll()或nextAll()的话就是匹配之前或之后所有的元素:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo1").prev().css({
   "border":"2px solid red"});
			$(".demo1").next().css({
   "border":"2px solid blue"});
		});
	</script>

二、获取设置标签属性值的方法

attr()

  设置或返回被选元素的属性值,一般用于获取和设置自定义属性,如:

	<body>
		<div class="demo">
			<input type="text" id="input1" value="文本输入框" />
		</div>
		<button type="button" id="btn2" value="JQuery">实现方法</button>
		<script type="text/javascript">
			$("#btn2").click(function (){
   
				$(".demo #input1").attr({
   value:'改变文本框的值'});
			});
		</script>
	</body>

removeAttr()

  删除被选元素的属性值,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo #input1").removeAttr("value");
		});
	</script>

  成功删除value属性:

prop()

  与attr()类似,设置或返回被选元素的属性值,一般用于设置和获取标签自带的属性,不作演示了。

removeProp()

  与removeAttr()类似,删除被选元素的属性值,也是用于设置和获取标签自带的属性,不作演示了。

addClass()

  添加类名,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo #input1").addClass("demo1");
		});
	</script>
	
<style type="text/css">
	.demo{
   
		width: 800px;
		height: 700px;
		background-color: #F0F8FF;
		border: 1px solid black;
	}
	#input1{
   
		height: 30px;
		width: 300px;
		padding: 5px;
		font-size: 20px;
		color: white;
		background-color: #556677;
	}
	.demo1{
   
		border: 2px solid red;
	}
</style>


  也可以使用removeClass()、toggleClass()实现删除类名和切换类名,实现方式和添加类名类似,就不做演示了。

text()

  获取文本值,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			console.log($(".demo").text());
		});
	</script>

html()

  获取元素内容结构,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			console.log($(".demo").text());
			console.log($(".demo").html());
		});
	</script>

val()

  获取输入框的值,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			console.log($("#input1").val());
		});
	</script>

三、获取和设置元素尺寸位置样式的方法

offset()

  获取匹配元素在当前视口的相对偏移,返回一个位置对象,如:
(html代码与上述一致)

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			console.log($("p").offset());
		});
	</script>

position()

  获取匹配元素相对父元素的偏移,返回一个位置对象,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			console.log($("p").position());
		});
	</script>

width()

  类似的还有height(),用于获取元素尺寸宽高等外加边距的值,width()和height()不包括border、margin、padding,innerWidth()、innerHeight() 返回匹配元素的内部宽度和高度,包括padding,不包含border、margin,outerWidth()、outerHeight()返回匹配元素的外部的宽度和高度,并且包含padding和border,但不包含margin,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			console.log($("p").width());
			console.log($("p").height());
			console.log($("p").innerWidth());
			console.log($("p").innerHeight());
			console.log($("p").outerWidth());
			console.log($("p").outerHeight());
		});
	</script>
	p{
   
		margin: 10px;
		padding: 5px;
		border: 1px solid black;
	}

css()

  设置或获取元素样式,上述代码有使用到,这里就不再说明了,就是修改css的样式。

四、HTML文档结构处理的方法

append()

  向每个匹配的元素内部后置添加内容,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo1").append("添加元素");
		});
	</script>

prepend()

  向每个匹配的元素内部前置添加内容,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo1").prepend("添加元素");
		});
	</script>

after()

  在每个匹配的元素之后插入内容,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo1").after("<li>添加元素</li>");
		});
	</script>

before()

  在每个匹配的元素之前插入内容,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo1").before("<li>添加元素</li>");
		});
	</script>

wrap()

  把所有匹配的元素用其他元素的结构化标记包裹起来,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$("span").wrap("<div>包裹的div</div>");
		});
	</script>

remove()

  从DOM中删除所有匹配的元素,可以移除元素,包括文本和子节点,还有元素的数据和事件。

detach()

  从DOM中删除所有匹配的元素,可以移除元素和元素包括的文本和子节点,但是无法移除元素的数据和事件。

replaceWith()

  把元素替换成新的内容,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$(".demo1").replaceWith("<li>替换的文本</li>");
		});
	</script>

replaceAll()

  替换元素,把元素替换成为新的HTML元素,如:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$("<li class='demo1'>li结点 demo1</li>").replaceAll($("li"));
		});
	</script>

  实现的是将所有的li标签都替换成,并且这里的replaceAll()前面的元素必须包含标签:

<li class='demo1'>li结点 demo1</li>

empty()

  删除匹配元素集合中所有的子节点:

	<script type="text/javascript">
		$("#btn2").click(function (){
   
			$("ul div").empty();
		});
	</script>

  成功清空:


转载:https://blog.csdn.net/weixin_43866830/article/details/115907964
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场