jQuery笔记

JS

1、  寻找HTML样式

x=document.getElementById("demo") //找到元素 
x.style.color="#ff0000";          //改变样式

demo:

<p id="demo">

JavaScript 能改变 HTML 元素的内容。

</p>

 

<script>

function myFunction()

{

x=document.getElementById("demo");  // 找到元素

x.innerHTML="Hello JavaScript!";    // 改变内容

}

</script>

 

<button type="button"οnclick="myFunction()">点击这里</button>

2、  简单弹出框

alert("不是数字");

3、  引入外部的JavaScript

<script src=”myScript.js”></script>

4、  显示数据

使用 window.alert() 弹出警告框。

使用 document.write() 方法将内容写到 HTML 文档中。

使用 innerHTML 写入到 HTML 元素。

使用 console.log() 写入到浏览器的控制台。

5、  带返回值的函数

function myFunction()
{
var x=5;
return x;
}

6、  === 为绝对相等,即数据类型与值都必须相等;!==为绝对不等于(值或类型不相等)。

var x ="John";              
var y = new String("John");
(x === y) // 结果为 false,因为是字符串,y 是对象

7、  JS中有>=与<=

8、  对象的遍历xin person

varperson={fname:"John",lname:"Doe",age:25}; 

for (x in person)
  {
  txt=txt + person[x];
  }

while

cars=["BMW","Volvo","Saab","Ford"];

var i=0;

while(cars[i])

{

document.write(cars[i]+ "<br>");

i++;

}

9、  typeof 操作符来检测变量的数据类型

typeof"John"                // 返回 string

typeof3.14                  // 返回 number

typeoffalse                 // 返回 boolean

typeof[1,2,3,4]             // 返回 object

typeof {name:'John', age:34} // 返回 object

10、 constructor 属性返回所有 JavaScript 变量的构造函数

"John".constructor            //返回函数 String()  { [native code]}
(3.14).constructor            //返回函数 Number()  { [native code]}
false.constructor             //返回函数 Boolean() { [native code] }
[1,2,3,4].constructor         //返回函数 Array()   { [nativecode] }
{name:'John', age:34}.constructor//返回函数 Object() { [native code]}
new Date().constructor        // 返回函数 Date()    { [native code] }
function () {}.constructor   // 返回函数 Function(){ [native code] }

可以使用 constructor 属性来查看是对象是否为数组 (包含字符串 "Array"):

实例:

function isArray(myArray) {

   return myArray.constructor.toString().indexOf("Array") >-1;

}

可以使用 constructor 属性来查看是对象是否为日期 (包含字符串 "Date"):

实例

function isDate(myDate) {

    returnmyDate.constructor.toString().indexOf("Date") > -1;

}

11、JavaScript 变量提升,但初始化不会提升

 

12、浮点型数据使用注意事项

var x =0.1;

var y =0.2;

var z = x+ y            // z 的结果为 0.3

if (z == 0.3)            // 返回 false

解决以上问题,可以用整数的乘除法来解决:

var z = (x * 10 + y * 10) / 10;       // z 的结果为 0.3

13、代码规范

每行代码字符小于 80

为了便于阅读每行字符建议小于数 80 个。

如果一个 JavaScript 语句超过了 80 个字符,建议在运算符或者逗号后换行。

14、typeof 操作符来检测变量的数据类型

15、通过标签名查找 HTML 元素

本例查找 id="main" 的元素,然后查找 id="main" 元素中的所有 <p> 元素:

实例

varx=document.getElementById("main");

var y=x.getElementsByTagName("p");

16、通过类名找到 HTML 元素

var x=document.getElementsByClassName("intro");

17、改变 HTML 样式

document.getElementById("p2").style.color="blue";

18、onload 和 onunload 事件

onload 和 onunload 事件会在用户进入或离开页面时被触发。

onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。

onload 和 onunload 事件可用于处理cookie。

<bodyοnlοad="checkCookies()"> 检查cookie是否可用

19、onchange 事件

nchange 事件常结合对输入字段的验证来使用。

下面是一个如何使用 onchange 的例子。当用户改变输入字段的内容时,会调用 upperCase() 函数。

实例

<input type="text"id="fname" οnchange="upperCase()">

20、onmouseover 和 onmouseout 事件

onmouseover 和 onmouseout 事件可用于在用户的鼠标移至HTML 元素上方或移出元素时触发函数。

21、onmousedown、onmouseup 以及 onclick 事件

onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。

22、JavaScript HTML DOMEventListener

addEventListener()方法

addEventListener() 方法允许向同个元素添加多个事件,且不会覆盖已存在的事件:element.addEventListener(event, function, useCapture);

第一个参数是事件的类型 (如 "click" 或 "mousedown").

第二个参数是事件触发后调用的函数。

第三个参数是个布尔值用于描述事件是冒泡还是捕获。该参数是可选的。

 

实例

在用户点击按钮时触发监听事件:

document.getElementById("myBtn").addEventListener("click",displayDate);

removeEventListener()方法

removeEventListener() 方法移除由addEventListener() 方法添加的事件句柄:

实例

element.removeEventListener("mousemove",myFunction);

23、创建新的 HTML 元素

如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素。

 实例

<div id="div1">

<p id="p1">这是一个段落。</p>

<p id="p2">这是另一个段落。</p>

</div>

 

<script>

varpara=document.createElement("p");

var node=document.createTextNode("这是一个新段落。");

para.appendChild(node);

 

var element=document.getElementById("div1");

element.appendChild(para);

</script>

例子解析:

这段代码创建新的<p> 元素:

varpara=document.createElement("p");

如需向 <p> 元素添加文本,您必须首先创建文本节点。这段代码创建了一个文本节点:

var node=document.createTextNode("这是一个新段落。");

然后您必须向 <p> 元素追加这个文本节点:

para.appendChild(node);

最后您必须向一个已有的元素追加这个新元素。

这段代码找到一个已有的元素:

varelement=document.getElementById("div1");

以下代码在已存在的元素后添加新元素:

element.appendChild(para);

24、删除已有的 HTML 元素

以下代码演示了如何删除元素:

实例

<div id="div1">

<p id="p1">这是一个段落。</p>

<p id="p2">这是另一个段落。</p>

</div>

<script>

varparent=document.getElementById("div1");

varchild=document.getElementById("p1");

parent.removeChild(child);

</script>

 

尝试一下 »

 

实例解析

这个 HTML 文档含有拥有两个子节点(两个 <p> 元素)的 <div> 元素:

<div id="div1">

<p id="p1">这是一个段落。</p>

<p id="p2">这是另一个段落。</p>

</div>

找到 id="div1" 的元素:

varparent=document.getElementById("div1");

找到 id="p1" 的 <p> 元素:

varchild=document.getElementById("p1");

从父元素中删除子元素:

parent.removeChild(child);

jQuery

1、文档就绪事件

所有 jQuery 函数位于一个 document ready 函数中:

$(document).ready(function(){

 

   //jQuery methods go here...

 

});

这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。

2、元素选择器 $("p")

用户点击按钮后,所有 <p> 元素都隐藏:

实例

$(document).ready(function(){
  $("button").click(function(){
    $("p").hide();
  });
});

3、#id 选择器 $("#test")

4、.class 选择器 $(".test")

5、this

$(document).ready(function(){

 $("p").click(function(){

   $(this).hide();

  });

});

点一下消失一个p

6、其他选择器

语法

描述

$("*")

选取所有元素

$(this)

选取当前 HTML 元素

$("p.intro")

选取 class 为 intro 的 <p> 元素

$("p:first")

选取第一个 <p> 元素

$("ul li:first")

选取第一个 <ul> 元素的第一个 <li> 元素

$("ul li:first-child")

选取每个 <ul> 元素的第一个 <li> 元素

$("[href]")

选取带有 href 属性的元素

$("a[target='_blank']")

选取所有 target 属性值等于 "_blank" 的 <a> 元素

$("a[target!='_blank']")

选取所有 target 属性值不等于 "_blank" 的 <a> 元素

$(":button")

选取所有 type="button" 的 <input> 元素 和 <button> 元素

$("tr:even")

选取偶数位置的 <tr> 元素

$("tr:odd")

选取奇数位置的 <tr> 元素

7、常用的 jQuery 事件方法

语法

描述

$(document).ready()

允许我们在文档完全加载完后执行函数

$("p").click(function(){}

当按钮点击事件被触发时会调用一个函数

dblclick()

双击元素时,会发生 dblclick 事件

mouseenter()

当鼠标指针穿过元素时,会发生 mouseenter 事件。

mouseleave()

当鼠标指针离开元素时,会发生 mouseleave 事件。

mousedown()

当鼠标指针移动到元素上方,并按下鼠标按键时

mouseup()

当在元素上松开鼠标按钮时

hover()

hover()方法用于模拟光标悬停事件

focus()

当元素获得焦点时,发生 focus 事件。

当通过鼠标点击选中元素或通过 tab 键定位到元素时,该元素就会获得焦点。

blur()

当元素失去焦点时,发生 blur 事件。

8、隐藏和显示

以使用 hide() 和 show() 方法来隐藏和显示 HTML元素

通过 jQuery,可以使用 toggle() 方法来切换 hide() show() 方法。

显示被隐藏的元素,并隐藏已显示的元素:

实例

$("button").click(function(){
  $("p").toggle();
});

$(selector).toggle(speed,callback);

可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast"或毫秒。

可选的 callback 参数是 toggle() 方法完成后所执行的函数名称。

9、淡入淡出

$(selector).fadexx(speed,callback);

可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。.

可选的 callback 参数是 fading 完成后所执行的函数名称。

fadeIn() 用于淡入已隐藏的元素

实例

$("button").click(function(){
  $("#div1").fadeIn();
  $("#div2").fadeIn("slow");
  $("#div3").fadeIn(3000);
});

fadeOut()方法用于淡出可见元素, fadeToggle() 方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换,

jQueryfadeTo() 方法允许渐变为给定的不透明度(值介于 0 与 1 之间). $(selector).fadeTo(speed,opacity,callback);

10、滑动、动画、通知动画、Callback、Chaining暂缺

jQuery AJAX

1、jQuery$.post() 方法

$.post()方法通过 HTTP POST 请求从服务器上请求数据。

语法:

$.post(URL,data,callback);

必需的 URL 参数规定您希望请求的URL。

可选的 data 参数规定连同请求发送的数据。

可选的 callback 参数是请求成功后所执行的函数名。

下面的例子使用 $.post() 连同请求一起发送数据:

实例

$("button").click(function(){

  $.post("demo_test_post.html",

  {

    name:"Donald Duck",

    city:"Duckburg"

  },

  function(data,status){

    alert("Data: " + data +"nStatus: " + status);

  });

});

提示: 这个 PHP 文件 ("demo_test_post.php") 类似这样:

<?php
$name = isset($_POST['name']) ? htmlspecialchars($_POST['name']) : '';
$city = isset($_POST['city']) ? htmlspecialchars($_POST['city']) : '';
echo 'Dear ' . $name;
echo 'Hope you live well in ' . $city;
?>

 

jQuery JSON

JSONP 应用

1. 服务端JSONP格式数据

如客户想访问 :http://www.runoob.com/try/ajax/jsonp.php?jsonp=callbackFunction

假设客户期望返回JSON数据:["customername1","customername2"]

真正返回到客户端的数据显示为:callbackFunction(["customername1","customername2"])

服务端文件jsonp.php代码为:

<?php
header('Content-type: application/json');
//获取回调函数名
$jsoncallback = htmlspecialchars($_REQUEST ['jsoncallback']);
//json数据
$json_data = '["customername1","customername2"]';
//输出jsonp格式的数据
echo $jsoncallback . "(" . $json_data . ")";
?>

2. 客户端实现 callbackFunction 函数

<script type="text/javascript">
function callbackFunction(result, methodName)
{
    var html = '<ul>';
    for(var i = 0; i < result.length; i++)
    {
        html += '<li>' + result[i] + '</li>';
    }
    html += '</ul>';
    document.getElementById('divCustomers').innerHTML = html;
}
</script>

页面展示

<div id="divCustomers"></div>

客户端页面完整代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>JSONP 实例</title>
</head>
<body>
    <div id="divCustomers"></div>
    <script type="text/javascript">
        function callbackFunction(result, methodName)
        {
            var html = '<ul>';
            for(var i = 0; i < result.length; i++)
            {
                html += '<li>' + result[i] + '</li>';
            }
            html += '</ul>';
            document.getElementById('divCustomers').innerHTML = html;
        }
    </script>
<script type="text/javascript" src="http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=callbackFunction"></script>
</body>
</html>

jQuery使用 JSONP

以上代码可以使用 jQuery 代码实例:

<!DOCTYPE html>
<html>
<head>
         <title>JSONP 实例</title>
         <script src="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.js"></script>      
</head>
<body>
<div id="divCustomers"></div>
<script>
$.getJSON("http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=?", function(data) {
         
         var html = '<ul>';
         for(var i = 0; i < data.length; i++)
         {
                 html += '<li>' + data[i] + '</li>';
         }
         html += '</ul>';
         
         $('#divCustomers').html(html); 
});
</script>
</body>
</html> 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值