当前位置: 代码迷 >> Web前端 >> jQuery_基础三
  详细解决方案

jQuery_基础三

热度:265   发布时间:2012-10-25 10:58:57.0
jQuery_基础3
<script type="text/javascript" src="jquery-1.4.4.js"></script>
  <script type="text/javascript">

  $(function()
  {
	var p = $("p");//有这样一种命名规范:jquery对象命名  $p 加一$符号 表示jquery对象  不加表示dom对象
    var li = $("ul li:eq(1)");//第二个li

	var title = p.attr("title");//attr();一个参数:属性的名字返回属性的值(读操作).  两个参数:属性的name属性的值,写入操作
    //上面那句=p[0].title//取得tilte属性的值
	var title2 = li.attr("title");
	var text = li.text();

    alert(title);
	alert(title2);
	alert(text);

	li.attr("title", "myTitle");//传两个参数就是写操作

  });
  </script>
 </head>
 <body>
 <p title="hello world">您认为圣思园培训好不好呢?</p>
 <ul>
	 <li title="1">好</li>
	 <li title="2">很好</li>
	 <li title="3">非常好</li>
	 <li title="4">特别好</li>
	 <li title="5">太好了</li>
	 <li title="6">好的无法描述了</li>
</ul>
 </body>

 var addItems = function()
  {
  /*
    document.getElementById("div1").innerHTML = "";//最快的清空方式.每次appendChild之前清空.也可以用remove方法
    //但是innerHTML=""  最佳实践

	var value = parseInt(document.getElementById('itemsNumber').value);

	for(var i = 0; i < value; i++)
	{
		//参数:标签的名字
		var input = document.createElement("input");
		//设置属性,什么样的input.
		input.setAttribute("type", "text");

		var br = document.createElement("br");

		document.getElementById("div1").appendChild(input);//往div1标签下附加子元素
		document.getElementById("div1").appendChild(br);//这些JS的操作不会反馈到右键查看源代码
		//可以通过firebug查看,右键源代码不会显示附加的代码
		
	}
*/
    document.getElementById("div1").innerHTML = "";
    var value = parseInt($("#itemsNumber").val());

	var str = "";

	for(var i = 0; i < value; i++)
	{
		str += "<input type='text'><br>";
	}

	$("#div1").append(str);

  }
  </script>
 </head>
 <body>
 <input type="text" id="itemsNumber"> 
 <input type="button" id="btn" value="click" onclick="addItems();">
<div id="div1"></div>
 </body>

 <script type="text/javascript" src="jquery-1.4.4.js"></script>
  <script type="text/javascript">

   $(function()
   {
	   //附加两条li到后面
    $("ul").append("<li title='abc'>hello</li>")
	       .append("<li title='xyz'>world</li>");
//第二种写法  附加一条li到后面
$("<li title='abc'>hello</li>").appendTo($("ul"));
   });
  </script>
 </head>
 <body>
<p title="hello world">您认为圣思园培训好不好呢?</p>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 </body>

<script type="text/javascript">
$(function()
{
	var li1 = $("<li title='hello'>hello</li>");
	var li2 = $("<li title='hello'>world</li>");
	var li3 = $("<li title='hello'>hello world</li>");

	//附加到最后一个li后面
	$("ul").append(li1);

	//附加到第一个li前面
	$("ul").prepend(li2);

	//附加到指定位置
    $("ul li:eq(4)").after(li3);

});
</script>
 </head>
 <body>
<p title="hello world">您认为圣思园培训好不好呢?</p>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 </body>

<script type="text/javascript">
$(function()
{
	//将第3个节点插入到第5个节点后
	$("ul li:eq(2)").insertAfter("ul li:eq(4)");
});
</script>
 </head>
 <body>
<p title="hello world">您认为圣思园培训好不好呢?</p>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 </body>

<script type="text/javascript">
$(function()
{
	//remove方法会返回被移除的节点的jQuery对象
	var removedLi = $("ul li:eq(3)").remove(); 

	removedLi.appendTo($("ul"));

	//$("ul li"):获得后代元素
	//$("ul li").remove("li[title != 2]");

	$("ul li:eq(3)").empty(); //清空元素中的内容

});
</script>
 </head>
 <body>
 <p title="hello world">您认为圣思园培训好不好呢?</p>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 </body>

<script type="text/javascript">
/*
var addMore = function()
{
	var div = document.getElementById("div1");

	var br = document.createElement("br");
	var input = document.createElement("input");
	var button = document.createElement("input");

	input.setAttribute("type", "file");
	button.setAttribute("type", "button");
	button.setAttribute("value", "Remove");

	//每次删除的对象不一样.  删除当前对象
    button.onclick = function()
	{
		div.removeChild(br);
		div.removeChild(input);
		div.removeChild(button);//把自己也要删除掉
	}

	div.appendChild(br);
	div.appendChild(input);
	div.appendChild(button);
}
*/

var count = 0;
$(function()
{
	$("input[type=button]").click(function()
	{
		var br = $("<br>");
		var input = $("<input type='file'>");
		var button = $("<input type='button' value='Remove" + (++count) + " '>");

		$("#div1").append(br).append(input).append(button);

		button.click(function()
		{
			br.remove();
			input.remove();
			button.remove();
		});
	});
});

</script>
 </head>
 <body>
<input type="file"> <input type="button" value="more...">
<div id="div1"></div>
 </body>

<script type="text/javascript">
 $(function()
 {
	$("ul>li").click(function()
	{
		//当前对象赋值一份附加到ul上面
		//this:当前所用的对象
		//$(tihs):转成jquery对象
		//clone(true):克隆出来的对象拥有被克隆对象的事件
		$(this).clone(true).appendTo("ul");
	});
 });
</script>
 </head>
 <body>
  <p title="hello world">您认为圣思园培训好不好呢?</p>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 </body>

<script type="text/javascript">

$(function()
{
	//将整个的p元素替换掉. 两种方法等效
	//$("p").replaceWith("<a href='http://www.google.com'>Google.com</a>");

	$("<a href='http://www.google.com'>Google.com</a>").replaceAll("p");
});

</script>
 </head>
 <body>
<p title="hello world">您认为圣思园培训好不好呢?</p>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 </body>

<script type="text/javascript">
$(function()
{
	//包在所有元素外面
	//$("p").wrap("<a href='http://www.google.com'><b></b></a>");

	//包在最内层文本外面
	$("p").wrapInner("<a href='http://www.google.com'><b></b></a>");
});
</script>
 </head>
 <body>
<p title="hello world">您认为圣思园培训好不好呢?</p><br>
<p title="hello world">您认为圣思园培训好不好呢?</p><br>
<p title="hello world">您认为圣思园培训好不好呢?</p>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 </body>

<script type="text/javascript">
$(function()
{
	$("input:eq(0)").click(function()
	{
		//给多个属性赋值
		$("p").attr({"title":"welcome", "hello": "world"});
	});

	$("input:eq(1)").click(function()
	{
		//1个参数表示读取
		alert($('p').attr("hello"));
	});

	$("input:eq(2)").click(function()
	{
		//删除属性
		$('p').removeAttr("title");
	});
});
</script>
 </head>
 <body>
<input type="button" value="button1">
<input type="button" value="button2">
<input type="button" value="button3"><br>
<p title="hello world">您认为圣思园培训好不好呢?</p>
   <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 </body>

<html>
 <head>
<style type="text/css">
.high{
font-weight: bold;
color:red
}

.another{
font-style:italic;
color:green
}
</style>

 <script type="text/javascript" src="jquery-1.4.4.js"></script>
<script type="text/javascript">

 $(function()
 {
	 //索引位置为0的inut
	$("input:eq(0)").click(function()
	{
		alert($('p').attr("class"));
	});

    $("input:eq(1)").click(function()
	{
    	//新加一个class. 如果原来就存在则替换掉原来的.
		$("p").attr("class", "high");
	});

	$("input:eq(2)").click(function()
	{  
		//对p元素附加一个css.原来就有的话 追加 
		$("p").addClass("high");
	});

	$("input:eq(3)").click(function()
	{
		//移除class中某个属性
		$("p").removeClass("high");
	});

	$("input:eq(4)").click(function()
	{
		//移除class
		$("p").removeClass();
	});

	$("input:eq(5)").click(function()
	{
		//如果有class为annother的. 则移除,如果没有则增加annother这个class
		$("p").toggleClass("another");
	});

	$("input:eq(6)").click(function()
	{
		//alert($('p').hasClass('another'));
		alert($('p').is('.another'));
	});
 });
</script>
 </head>
 <body>
<input type="button" value="button1">
<input type="button" value="button2">
<input type="button" value="button3">
<input type="button" value="button4">
<input type="button" value="button5">
<input type="button" value="button6">
<input type="button" value="button7">
<p title="hello world" class="hello">您认为圣思园培训好不好呢?</p>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 </body>
</html>

<script type="text/javascript">

 $(function()
 {
	$("input:eq(0)").click(function()
	{
		//<b>您认为圣思园培训好不好呢?</b>
		console.info($("p").html());
	});

	$("input:eq(1)").click(function()
	{
		//您认为圣思园培训好不好呢?
		console.info($("p").text());
	});

	$("input:eq(2)").click(function()
	{
		//给p标签附上HTML代码
		$("p").html('<a href="http://www.google.com">hello world</a>');
	});

	$("input:eq(3)").click(function()
	{
		//给p标签附上文本
		$("p").text('<a href="http://www.google.com">hello world</a>');
	});

	$("input:eq(4)").click(function()
	{
		//button5
		console.info($(this).val());
	});

	$("input:eq(5)").click(function()
	{
		//相当于标签里的value=""
		$(this).val('hello world');
	});
 });


</script>
 </head>
 <body>
<input type="button" value="button1">
<input type="button" value="button2">
<input type="button" value="button3">
<input type="button" value="button4">
<input type="button" value="button5">
<input type="button" value="button6"><br>
 <p title="hello world"><B>您认为圣思园培训好不好呢?</B></p>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
 </body>

<script type="text/javascript">

$(function()
{
	//输入框获得焦点后触发   jquery中没有on前缀了.  js中是onfocus
	$("#username").focus(function()
	{
		var value = $(this).val();
		
		//  this.defaultValue 此时this是dom的this. 表示页面加载完的值
		if(value == this.defaultValue)
		{
			$(this).val('');
		}
	});

	//blur  焦点离开
	$('#username').blur(function()
	{
		var value = $(this).val();

		if(value == '')
		{
			$(this).val(this.defaultValue);
		}
	});
	
	
	//输入框获得焦点后触发   jquery中没有on前缀了.  js中是onfocus
	$("#password").focus(function()
	{
		var value = $(this).val();
		
		if(value == this.defaultValue)
		{
			$(this).val('');
		}
	});

	//blur  焦点离开
	$('#password').blur(function()
	{
		var value = $(this).val();

		if(value == '')
		{
			$(this).val(this.defaultValue);
		}
	});
}

);
 </script>
 </head>
 <body>
<input type="text" id="username" value="用户名"><br>
<input type="password" id="password" value="aaaaaa"><br>
<input type="button" value="我是一个按钮">
 </body>

$(function()
{
	//获得body下面的所有孩子. 不包括孙子
	var v1 = $("body").children();
	//p的孩子
	var v2 = $("p").children();
	//ul的孩子
	var v3 = $("ul").children();
	
	console.info(v1.length);//2
	console.info(v2.length);//0
	console.info(v3.length);//6

	for(var i = 0; i < v3.length; i++)
	{
		//jquery对象转成了dom对象
		console.info(v3[i].innerHTML);
	}
})

</script>

 </head>

 <body>
  
 <p title="hello world">您认为圣思园培训好不好呢?</p>

 <ul>

 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 </body>

<script type="text/javascript">
$(function()
{
	//同辈的下一个元素
	var v1 = $("p").next();
	console.info(v1.html());

	//上一个同辈元素
	var v2 = $('p').prev();
	console.info(v2.html());

	//上下所有的同辈元素
	var v3 = $('p').siblings();
	console.info(v3.length);
});
</script>
 </head>
 <body>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 <ul>
 <li title="1">bb</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 <p title="hello world">您认为圣思园培训好不好呢?</p>
 <ul>
 <li title="1">aa</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 <ul>
 <li title="1">好</li>
 <li title="2">很好</li>
 <li title="3">非常好</li>
 <li title="4">特别好</li>
 <li title="5">太好了</li>
 <li title="6">好的无法描述了</li>
</ul>
 </body>

<script type="text/javascript">
//js中默认的事件处理:冒泡.  单击里面的元素,外层也会处理. 向外寻找
var method1 = function()
{
	console.info("div clicked");
}

var method2 = function(event)
{
	console.info(event);
	console.info("span clicked");
}

var method3 = function()
{
	console.info("body clicked");
	
}
</script>
</head>
<body onclick="method3();">
<div id="content" onclick="method1();">
	外层div元素
	<span onclick="method2(event);">内层span元素</span>
	外层div元素
</div>
<div id="msg"></div>
</body>

<script type="text/javascript">

   var startTime = new Date().getTime();

   $(document).ready(function(){
		test1();
  })
	
  function test1(){
      var endTime2  = new Date().getTime(); 
	  var a = endTime2 - startTime;
	  $("<div>jQuery的ready() : "+a+" ms</div>").appendTo("#div1");
  }

  function test2(){
       var endTime1  = new Date().getTime();
	   var b = endTime1 - startTime;
	   $("<p>JavaScript的window.onload : "+b+" ms</p>").appendTo("#div1");
  }
</script>
</head>

<!-- 
//onload:页面全部加载完毕,外部文件(图片,css,js)也要全部加载完.才执行dom的onload
//jquery的ready:执行时机比dom的onload早很多,dom已准备好就执行. 图片未加载前执行
-->
<body  onload="test2();">
	<img src="http://www.shengsiyuan.com/Images/Ad/N.jpg" style="width:200px;height:200px;"/>

	<img src="http://www.infoq.com/resource/skyscraper/250/InfoQ%20Banner%20-%20ME4S.gif" style="width:200px;height:200px;"/>

<div id="div1"></div>
</body>