閱讀799 返回首頁    go 技術社區[雲棲]


jQuery學習筆記(二)選擇器 事件

選擇器:

<html>
<head>
<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript">
$(document).ready(function() {
	$("button").click(function() {
	$("p").css("background-color","red");
	});
});
</script>
</head>
<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p >This is another paragraph.</p>
<button type="button">Click me</button>
</body>
</html>

選擇器允許您對元素組或單個元素進行操作。

jQuery 選擇器

在前麵的章節中,我們展示了一些有關如何選取 HTML 元素的實例。

關鍵點是學習 jQuery 選擇器是如何準確地選取您希望應用效果的元素。

jQuery 元素選擇器和屬性選擇器允許您通過標簽名、屬性名或內容對 HTML 元素進行選擇。

選擇器允許您對 HTML 元素組或單個元素進行操作。

在 HTML DOM 術語中:

選擇器允許您對 DOM 元素組或單個 DOM 節點進行操作。

jQuery 元素選擇器

jQuery 使用 CSS 選擇器來選取 HTML 元素。

$("p") 選取 <p> 元素。

$("p.intro") 選取所有 的 <p> 元素。

$("p#demo") 選取 的第一個 <p> 元素。

jQuery 屬性選擇器

jQuery 使用 XPath 表達式來選擇帶有給定屬性的元素。

$("[href]") 選取所有帶有 href 屬性的元素。

$("[href='#']") 選取所有帶有 href 值等於 "#" 的元素。

$("[href!='#']") 選取所有帶有 href 值不等於 "#" 的元素。

$("[href$='.jpg']") 選取所有 href 值以 ".jpg" 結尾的元素。

jQuery CSS 選擇器

jQuery CSS 選擇器可用於改變 HTML 元素的 CSS 屬性。

下麵的例子把所有 p 元素的背景顏色更改為紅色:

實例

$("p").css("background-color","red");

親自試一試

更多的選擇器實例

語法 描述
$(this) 當前 HTML 元素
$("p") 所有 <p> 元素
$("p.intro") 所有 的 <p> 元素
$(".intro") 所有 的元素
$("#intro") 的第一個元素
$("ul li:first") 每個 <ul> 的第一個 <li> 元素
$("[href$='.jpg']") 所有帶有以 ".jpg" 結尾的屬性值的 href 屬性
$("div#intro .head") 的 <div> 元素中的所有 的元素

noconflict()

<html>
<head>
<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript">
var jq=jQuery.noConflict();
jq(document).ready(function() {
	jq("button").click(function() {
	jq("p").hide();
	});
});
</script>
</head>
<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p >This is another paragraph.</p>
<button type="button">Click me</button>
</body>
</html>

jQuery 是為事件處理特別設計的。

jQuery 事件函數

jQuery 事件處理方法是 jQuery 中的核心函數。

事件處理程序指的是當 HTML 中發生某些事件時所調用的方法。術語由事件“觸發”(或“激發”)經常會被使用。

通常會把 jQuery 代碼放到 <head>部分的事件處理方法中:

實例

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $("p").hide();
  });
});
</script>
</head>

<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button>Click me</button>
</body>

</html>

親自試一試

在上麵的例子中,當按鈕的點擊事件被觸發時會調用一個函數:

$("button").click(function() {..some code... } )

該方法隱藏所有 <p> 元素:

$("p").hide();

單獨文件中的函數

如果您的網站包含許多頁麵,並且您希望您的 jQuery 函數易於維護,那麼請把您的 jQuery 函數放到獨立的 .js 文件中。

當我們在教程中演示 jQuery 時,會將函數直接添加到 <head> 部分中。不過,把它們放到一個單獨的文件中會更好,就像這樣(通過 src 屬性來引用文件):

實例

<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="my_jquery_functions.js"></script>
</head>

jQuery 名稱衝突

jQuery 使用 $ 符號作為 jQuery 的簡介方式。

某些其他 JavaScript 庫中的函數(比如 Prototype)同樣使用 $ 符號。

jQuery 使用名為 noConflict() 的方法來解決該問題。

var jq=jQuery.noConflict(),幫助您使用自己的名稱(比如 jq)來代替 $ 符號。

親自試一試

結論

由於 jQuery 是為處理 HTML 事件而特別設計的,那麼當您遵循以下原則時,您的代碼會更恰當且更易維護:

  • 把所有 jQuery 代碼置於事件處理函數中
  • 把所有事件處理函數置於文檔就緒事件處理器中
  • 把 jQuery 代碼置於單獨的 .js 文件中
  • 如果存在名稱衝突,則重命名 jQuery 庫

jQuery 事件

下麵是 jQuery 中事件方法的一些例子:

Event 函數 綁定函數至
$(document).ready(function) 將函數綁定到文檔的就緒事件(當文檔完成加載時)
$(selector).click(function) 觸發或將函數綁定到被選元素的點擊事件
$(selector).dblclick(function) 觸發或將函數綁定到被選元素的雙擊事件
$(selector).focus(function) 觸發或將函數綁定到被選元素的獲得焦點事件
$(selector).mouseover(function) 觸發或將函數綁定到被選元素的鼠標懸停事件



最後更新:2017-04-02 06:52:22

  上一篇:go Struts表單標簽帶來的表單元素id的變化
  下一篇:go Java EE spec 不求人