当前位置: 移动技术网 > IT编程>网页制作>CSS > jquery九类选择器分类介绍

jquery九类选择器分类介绍

2019年01月14日  | 移动技术网IT编程  | 我要评论
> qq_17503037的博客... > jquery九类选择器 --> jquery九类选择器 可见性选择器 //1)查找隐藏的t

    jquery九类选择器

    可见性选择器

    //1)查找隐藏的tr元素的个数
    	//alert( $("table tr:hidden").size() );
    	
    //2)查找所有可见的tr元素的个数
    //alert( $("table tr:not(:hidden)").size() );
    alert( $("table tr:visible").size() );//提倡	、
    

    属性选择器

    //1)查找所有含有id属性的p元素个数
    	//alert( $('p[id]').size() );
    		
     	//2)查找所有name属性是newsletter的input元素,并将其选中
    	//$("input[name='newsletter']").attr("checked","checked");
     	
      	//3)查找所有name属性不是newsletter的input元素,并将其选中
    	//$("input[name!='newsletter']").attr("checked","true");
    
      	//4)查找所有name属性以'news'开头的input元素,并将其选中
    	//$("input[name^='news']").attr("checked","checked");
    		  	
      	//5)查找所有name属性以'letter'结尾的input元素,并将其选中
      	//$("input[name$='letter']").attr("checked","checked");
      	
      	//6)查找所有name属性包含'news'的input元素,并将其选中
    	//$("input[name*='news']").attr("checked","checked");
      	
      	//7)找到所有含有id属性,并且它的name属性是以"letter"结尾的input元素,并将其选中
      	$("input[id][name$='letter']").attr("checked","true");
    

    子元素选择器

    /*1)迭代[each]每个ul中第1个li元素中的内容,索引从1开始
    $("ul li:first-child").each(function(){
    	alert( $(this).text() );
    });
    */
    	
    /*2)迭代每个ul中最后1个li元素中的内容,索引从1开始
    $("ul li:last-child").each(function(){
    	alert( $(this).text() );
    });
    */
    
    /*4)迭代每个ul中第2个li元素中的内容,索引从1开始(nth-child从1开始,eq是从0开始)
    $("ul li:nth-child(2)").each(function(){
    	alert( $(this).text() );
    });*/
    
    //3)在ul中查找是唯一子元素的li元素的内容
    $("ul li:only-child").each(function(){
    	alert( $(this).text() );
    });
    

    表单选择器

    //1)查找所有input元素的个数
    //alert( $("input").size() );//10,找input标签
    //alert( $(":input").size() );//13,找input标签和select/textarea/button
    	
    //2)查找所有文本框的个数
    //alert( $(":text").size() );
    
    //3)查找所有密码框的个数
    //alert( $(":password").size() );
    
    //4)查找所有单选按钮的个数
    //alert( $(":radio").size() );
    
    //5)查找所有复选框的个数
    //alert( $(":checkbox").size() );
    
    //6)查找所有提交按钮的个数
    //alert( $(":submit").size() );
    
    //7)匹配所有图像域的个数
    //alert( $(":images").size() );
    
    //8)查找所有重置按钮的个数
    //alert( $(":reset").size() );
    
    //9)查找所有普通按钮的个数
    //alert( $(":button").size() );
    
    //10)查找所有文件域的个数
    //alert( $(":file").size() );
    
    //11)查找所有input元素为隐藏域的个数
    //alert( $(":input:hidden").size() );
    

    表单对象属性选择器

    //1)查找所有可用的input元素的个数
    //alert( $("input:enabled").size() );
    
    //2)查找所有不可用的input元素的个数
    //alert( $("input:disabled").size() );
    
    //3)查找所有选中的复选框元素的个数
    //alert( $(":checkbox:checked").size() );
     	
    //4)查找所有未选中的复选框元素的个数(不适用下拉)
    //alert( $(":checkbox:not(:checked)").size() );
    
    //5)查找所有选中的选项元素的个数(适用下拉框)
    //alert( $("select option:selected").size() );
    alert( $("#provinceid option:not(:selected)").size() );
    

    jquery常用method-api

    目的:对web页面(html/jsp/xml)中的任何标签,属性,内容进行增删改查

    (1)dom简述与分类

       (a)dom是一种w3c官方标准规则,可访问任何标签语言的页面(html/jsp/xml)
       (b)dom是跨平台(window/linux/unix),跨语言(javascript/java),
    跨浏览器(ie/firefox/chrome)的标准规则	
       (c)我们只需要按照dom标准规则,针对主流浏览器(ie/firefox/chrome)编程
       (d)js/jquery按照dom的标准规则,既可以操作html/jsp,也能操作css
       (e)dom标准规则不是js的专属,其它语言,也能适用,例如:vbscript,java语言等
    

    (2)dom标准规则下的jquery常用api

    注意:以下方法均由jquery对象调用
        each():是jquery中专用于迭代数组的方法,参数为一个处理函数,this表示当前需要迭代的js对象
    
    	//用json语法创建一个一维数组,存入object类型的姓名和薪水,再迭代
    	var namearray = [
    		{
    			name : "哈哈",
    			sal : 6000
    		},
    		{	
    			name : "嘿嘿",
    			sal : 7000
    		},
    		{
    			name : "笨笨",
    			sal : 8000
    		}
    	];
    	var $namearray = $(namearray);
    	$namearray.each(function(){
    		//this代表object类型
    		alert(this.name + ":"+this.sal);
    	});
    

        append():追加到父元素之后
        prepend():追加到父元素之前
    
    //div标签插入到ul标签之后(父子关系)
    	//$("ul").append( $("p") );	
    	
    	//div标签插入到ul标签之前(父子关系)
    	$("ul").prepend( $("p") );		
    
    
    after():追加到兄弟元素之后
        before():追加到兄弟元素之前 
    
    //div标签插入到ul标签之后(兄弟关系)
    	//$("ul").after( $("p") ); 
    	 
    	//div标签插入到ul标签之前(兄弟关系)
    	$("ul").before( $("p") ); 	
    
    
    attr(name):获取属性值
        attr(name,value):给符合条件的标签添加key-value属性对 
    
    //取得form里第一个input元素的type属性
    	//alert( $("form input:first").attr("type") );
    	//设置form里最后个input元素的为只读文本框
    	//$("form input:last").attr("readonly","readonly")
    	//$(":password").attr("readonly","readonly")
    
    $("

    html代码

    "):创建元素,属性,文本 //创建p元素,添加"哈哈"文本,id属性,并添加到文档中 //

    哈哈

    /*js方式 var pelement = document.createelement("p"); pelement.innerhtml = "哈哈哈"; pelement.setattribute("id","2015"); pelement.id = "2015"; document.body.appendchild(pelement);*/ //jquery方式 var $p = $("

    哈哈哈哈哈

    "); //$("body").append( $p ); //第一种方式 $(document.body).append( $p ); //第二种方式 remove():删除自已及其后代节点 //删除id为secondid的li元素 //$("#secondid").remove(); //删除所有li元素 //$("#a li").remove(); //删除ul元素 $("#b").remove(); val():获取value属性的值 val(""):设置value属性值为""空串,相当于清空 text():获取html或xml标签之间的值 text(""):设置html或xml标签之间的值为""空串 clone():只复制样式,不复制行为 clone(true):既复制样式,又复制行为 //复制原input元素,添加到原input元素后,与其同级 var $old = $(":button"); var $new = $old.clone(); $new.val("新按钮"); $old.after( $new ); //为原input元素动态添加单击事件,且复制原input元素, //var $old = $(":button"); //$old.click(function(){ // alert("动态事件"); //}); //添加到原input元素后,与其同级,且和原按钮有一样的行为 //var $new = $old.clone(true); //$new.val("新按钮"); //$old.after( $new ); replacewith():替代原来的节点 //双击

    中的文本,用文本框替换文本 $("p").dblclick( function(){ var $text = $(""); //文本框替代p标签 $(this).replacewith( $text ); } ); removeattr():删除已存在的属性 //将元素的align属性删除 $table.removeattr("align"); addclass():增加已存在的样式 removeclass():删除已存在的样式 hasclass():判断标签是否有指定的样式,true表示有样式,false表示无样式 toggleclass():如果标签有样式就删除,否则增加样式 offset():获取对象的left和top坐标 offset({top:100,left:200}):将对象直接定位到指定的left和top坐标 width():获取对象的宽 width(300):设置对象的宽 height():获取对象的高 height(500):设置对象的高 //获取图片的坐标 //var offset = $("img").offset(); //var x = offset.left; //var y = offset.top; //alert(x+":"+y); //设置图片的坐标 //$("img").offset({ // top:100, // left:200 //}); //获取图片的宽高 //var w = $("img").width(); //var h = $("img").height(); //alert(w+":"+h); //设置图片的宽高 $("img").width(500); $("img").height(600); children():只查询子节点,不含后代节点 next():下一下兄弟节点 prev():上一下兄弟节点 siblings():上下兄弟节点 //取得p元素的直接子元素内容,不含后代元素 //var $span = $("p").children(); //var content = $span.html();//包含子标签 //var content = $span.text();//不包含子标签 //alert(content); //取得p元素的下一个同级的兄弟元素内容 //var $p = $("p").next(); //alert( $p.text() ); //取得p元素的上一个同级的兄弟元素内容 //alert( $("p").prev().text() ); //依次取得p元素的上下一个同级的所有兄弟元素的内容 var $all = $("p").siblings("p"); $all.each(function(){ alert( $(this).html() ); }); show():显示对象 hide():隐藏对象 //图片隐蔽 $("img").hide(5000); //休息3秒 window.settimeout(function(){ //图片显示 $("img").show(5000); },3000); fadein():淡入显示对象 fadeout():淡出隐藏对象 //淡入显示图片 $("img").fadein(3000); //淡出隐蔽图片 $("img").fadeout(3000); slideup():向上滑动 slidedown():向下滑动 slidetoggle():上下切换滑动,速度快点 //向上下滑动 $(":button").click(function(){ //p标标上下移动 $("p").slidetoggle(100); });

    面试题–find(“9类选择器”):查询指定的节点和多重each()迭代

    //使用jquery弹出奇数的tr标签下的td里的值
    var $tr = $("table tr:lt(4):even");
    $tr.each(function(){
    //tr中查找td标签,$(this)表示tr
    var $td = $(this).find("td");
    $td.each(function(){
    	 	//$(this)表示td
    	 	var txt = $(this).text();
    alert(txt);
    });
    });
    

    jquery常用event-api

    目的:对web页面(html/jsp)进行事件触发,完成特殊效果的处理

    window.onload:在浏览器加载web页面时触发,可以写多次onload事件,但后者覆盖前者
    
    ready:在浏览器加载web页面时触发,可以写多次ready事件,不会后者覆盖前者,依次从上向下执行,我们常用$(函数)简化
           ready和onload同时存在时,二者都会触发执行,ready快于onload
    
    
    /*使用jquery方式加载a()和b()二个方法
    	$(document).ready(function(){
    		a();
    	});	
    	$(document).ready(function(){
    		b();
    	});	
    	*/
    
    	/*使用jquery最简方式加载a()和b()二个方法
    	$(function(){
    		a();
    	});
    	$(function(){
    		b();
    	});
    	*/
    
    
    change:当内容改变时触发
    
    //当标签触发onchange事件,显示选中的value和innerhtml属性的值
    	$("#city").change( function(){ 
    		var $option = $("#city option:selected");
    		var value = $option.val();
    		var text = $option.text();
    		alert(value+":"+text);
    	} );
    
    focus:焦点获取
    select:选中所有的文本值
    
    //加载页面时获取光标并选中所有文字
    	$(function(){
    		//光标定位文本框
    		$(":text").focus();
    		//选中文本框的所有文本
    		$(":text").select();
    	});
    
    keyup/keydown/keypress:演示在ie和firefox中获取event对象的不同
    
    	//当按键弹起时,显示所按键的unicode码
    	$(function(){
    		//ie浏览器会自动创建event这个事件对象,那么程序员可以根据需要来使用该event对象
    		$(document).keyup(function(){
    			//获取按钮的unicode编码
    			var code = event.keycode; 
    			alert(code);
    		});
    	});
    
    mousemove:在指定区域中不断移动触发
    
    //显示鼠标移动时的x和y座标
    	$(function(){
    		$(document).mousemove(function(){
    			var x = event.clientx;
    			var y = event.clienty;
    			$("#xid").val(x);
    			$("#yid").val(y);
    		});		
    	});
    
    mouseover:鼠标移入时触发
    mouseout:鼠标移出时触发
    
    	//鼠标移到某行上,某行背景变色
    	$("table tr").mouseover(function(){
    		$(this).css("background-color","inactivecaption");
    	});	
    	
    	//鼠标移出某行,某行还原
    	$("table tr").mouseout(function(){
    		$(this).css("background-color","white");
    	});
    	
    	//鼠标移到某图片上,为图片加边框
    	$("img").mouseover(function(){
    		$(this).css("border-color","red");
    	});
    	
    	//鼠标移出图片,图片还原
    	$("img").mouseout(function(){
    		$(this).css("border-color","white");
    	});	
    
    submit:在提交表单时触发,true表示提交到后台,false表示不提交到后台
    
    	//检测是否为中文,true表示是中文,false表示非中文
    	function ischinese(str){
    		if(/^[\u3220-\ufa29]+$/.test(str)){
    			return true;
    		}else{
    			return false;
    		}
    	}
    
    click:单击触发
    dblclick:双击触发
    blur:焦点失去
    
    
                
    						%3clink%20href%3d%22https%3a%2f%2fcsdnimg.cn%2frelease%2fphoenix%2fmdeditor%2fmarkdown_views-8cccb36679.css%22%20rel%3d%22stylesheet%22%3e


如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网