jQuery 属性选择器 Demo like: element[herf*='value']

一个针对jQuery属性选择器的小例子,增加对jQUery属性选择器的理解:


<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <style type="text/css">
  	a{
  		margin-right:20px;
  	}
  	ol{
  		position:relative;
  		width:600px;
  		margin-left:400px;
  	}
  	dt{
  		margin:10px;
  		height:100px;
  		background-color:#EAEAEA;
  		border:3px dotted orange;
  	}
  	.showMessage{
  		width:380px;
  		float:left;
  		background-color:#D8D8D8;	
  		border:1px dotted red;
  	}
  </style>
  <script type="text/javascript">
  	$(document).ready(function(){
  		var subject = "";
  		var describe = "";
  		
  		//name|="value"
  		$("#attri1").bind("click",function(){
  			var topValue=$("#attri1").offset().top;
  			subject = "Attribute Contains Prefix Selector [name|=\"value\"]";
  			describe = "Selects elements that have the specified attribute with a value either equal to a given string or starting with that string followed by a hyphen (-).";
  			$("a[hreflang|='en']").css("border","3px dotted green");
				showMessage(subject,describe,topValue);
  		});
  		
  		//name*="value"
  		$("#attri2").bind("click",function(){
  			var topValue=$("#attri2").offset().top;
  			subject  = "Attribute Contains Selector [name*=\"value\"]";
  			describe = "Selects elements that have the specified attribute with a value containing the a given substring.";
  			$( "input[name*='man']" ).val( "has man in it!" );
  			showMessage(subject,describe,topValue);
  		});
  		
  		//name~="value"
  		$("#attri3").bind("click",function(){
  			var topValue=$("#attri3").offset().top;
  			subject  = "Attribute Contains Word Selector [name~=\"value\"]";
  			describe = "Selects elements that have the specified attribute with a value containing a given word, delimited by spaces.";
  			$( "input[name~='man']" ).val( "mr. man is in it!" );
  			showMessage(subject,describe,topValue);
  		});
  		
  		//name$="value"
  		$("#attri4").bind("click",function(){
  			var topValue=$("#attri4").offset().top;
  			subject  = "Attribute Ends With Selector [name$=\"value\"]";
  			describe = "Selects elements that have the specified attribute with a value ending exactly with a given string. The comparison is case sensitive.";
  			$( "input[name$='letter']" ).val( "a letter" );
  			showMessage(subject,describe,topValue);
  		});
  		
  		//name="value"
  		$("#attri5").bind("click",function(){
  			var topValue=$("#attri5").offset().top;
  			subject  = "Attribute Equals Selector [name=\"value\"]";
  			describe = "Selects elements that have the specified attribute with a value exactly equal to a certain value.";
  			$( "input[value='Hot Fuzz']" ).next().text( "Hot Fuzz" );
  			showMessage(subject,describe,topValue);
  		});
  		
  		//name$="value"
  		$("#attri6").bind("click",function(){
  			var topValue=$("#attri6").offset().top;
  			subject  = "Attribute Not Equal Selector [name!=\"value\"]";
  			describe = "Select elements that either don't have the specified attribute, or do have the specified attribute but not with a certain value.";
  			$( "input[name!='newsletter']" ).next().append( "<b>; not newsletter</b>" );
  			showMessage(subject,describe,topValue);
  		});
  		
  		//name$="value"
  		$("#attri7").bind("click",function(){
  			var topValue=$("#attri7").offset().top;
  			subject  = "Attribute Starts With Selector [name^=\"value\"]";
  			describe = "Selects elements that have the specified attribute with a value beginning exactly with a given string.";
  			$( "input[name^='news']" ).val( "news here!" );
  			showMessage(subject,describe,topValue);
  		});
  		
  		//name$="value"
  		$("#attri8").bind("click",function(){
  			var topValue=$("#attri8").offset().top;
  			subject  = "Has Attribute Selector [name]";
  			describe = "Selects elements that have the specified attribute, with any value.<br><b><font color=\"red\">you can click the div which have id element</font></b>";
  			$( "div[id]" ).one( "click", function() {
				  var idString = $( this ).text() + " = " + $( this ).attr( "id" );
				  $( this ).text( idString );
				});
  			showMessage(subject,describe,topValue);
  		});
  		
  		//name$="value"
  		$("#attri9").bind("click",function(){
  			var topValue=$("#attri9").offset().top;
  			subject  = "Multiple Attribute Selector [name=\"value\"][name2=\"value2\"]";
  			describe = "Matches elements that match all of the specified attribute filters.";
  			$( "input[id][name$='man']" ).val( "only this one" );
  			showMessage(subject,describe,topValue);
  		});
  		
  		
  	});
  	
  	function showMessage(subject,describe,topValue){
  		$("#showMessage").html("<font color=\"red\"><b>"+subject+"</b></font><br>"+describe)
  			.addClass("showMessage").css("margin-top",topValue).hide().show(1000);
  	}
  	
	</script>
</head>
<body>
	<div id="showMessage"></div>
	<ol>
		<dt>
			<input type="button" id="attri1" value="a[hreflang|='en']"/><br><br>
			<a href="#" hreflang="en">en</a>
			<a href="#" hreflang="en-">en-</a>
			<a href="#" hreflang="english">english</a>
		</dt>
		<dt>
			<input type="button" id="attri2" value="name*='man'"/><br><br>
			<input name="man-news">
			<input name="milkman"><br>
			<input name="letterman2">
			<input name="newmilk">
		</dt>
		<dt>
			<input type="button" id="attri3" value="input[name~='man']"/><br><br>
			<input name="man-news">
			<input name="milk man"><br>
			<input name="letterman2">
			<input name="newmilk">	
		</dt>
		
		<dt>
			<input type="button" id="attri4" value="input[name$='letter']"/><br><br>
			<input name="newsletter">
			<input name="milkman"><br>
			<input name="jobletter">	
		</dt>
		
		<dt>
			<input type="button" id="attri5" value="input[value='Hot Fuzz']"/><br><br>
			<div>
			  <label>
			    <input type="radio" name="newsletter" value="Hot Fuzz">
			    <span>name?</span>
			  </label>
			</div>
			<div>
			  <label>
			    <input type="radio" name="newsletter" value="Cold Fusion">
			    <span>value?</span>
			  </label>
			</div>
			<div>
			  <label>
			    <input type="radio" name="newsletter" value="Evil Plans">
			    <span>value?</span>
			  </label>
			</div>
		</dt>
		
		<dt>
			<input type="button" id="attri6" value="input[name!='newsletter']"/><br><br>
			<div>
			  <input type="radio" name="newsletter" value="Hot Fuzz">
			  <span>name is newsletter</span>
			</div>
			<div>
			  <input type="radio" value="Cold Fusion">
			  <span>no name</span>
			</div>
			<div>
			  <input type="radio" name="accept" value="Evil Plans">
			  <span>name is accept</span>
			</div>
		</dt>
		
		<dt>
			<input type="button" id="attri7" value="input[name^='news']"/><br><br>
			<input name="newsletter">
			<input name="milkman"><br>
			<input name="newsboy">
		</dt>
		
		<dt>
			<input type="button" id="attri8" value="div[id]"/><br>
			<div>no id</div>
			<div id="hey">with id</div>
			<div id="there">has an id</div>
			<div>nope</div>
		</dt>
		
		<dt>
			<input type="button" id="attri9" value="input[id][name$='man']"/><br><br>
			<input id="man-news" name="man-news">
			<input name="milkman"><br>
			<input id="letterman" name="new-letterman">
			<input name="newmilk">
		</dt>
		
		<dt>
			<input type="button" value="clearEffects" οnclick="javaScript:window.location.reload();"/>			
		</dt>
	</ol>
</body>
</html>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值