phpQuery中文手冊(更新中)


示例

phpQuery::newDocumentFileXHTML('my-xhtml.html')->find('p'); $ul = pq('ul');

載入文檔

  • phpQuery::newDocument($html, $contentType = null) 根據標記URL新建一個文檔。如果 $contentType為空,則根據文檔自動檢測編碼。檢測失敗, 則對於text/html類型文檔自動賦予utf-8編碼。
  • phpQuery::newDocumentFile($file, $contentType = null) 根據文件新建一個文檔。類似於newDocument()
  • phpQuery::newDocumentHTML($html, $charset = 'utf-8')
  • phpQuery::newDocumentXHTML($html, $charset = 'utf-8')
  • phpQuery::newDocumentXML($html, $charset = 'utf-8')
  • phpQuery::newDocumentPHP($html, $contentType = null) 
  • phpQuery::newDocumentFileHTML($file, $charset = 'utf-8')
  • phpQuery::newDocumentFileXHTML($file, $charset = 'utf-8')
  • phpQuery::newDocumentFileXML($file, $charset = 'utf-8')
  • phpQuery::newDocumentFilePHP($file, $contentType) 

pq function 

pq($param, $context = null);

pq(); 相當於 jQuery的$();。它主要完成三件事情:

1. 載入標記資源:

// 輸入到載入的文檔: 
// 對於最開始輸入的字符串不接收文本類型的節點:pq('<div/>')
// 從$pq->getDocumentID()根據ID載入到文檔: pq('<div/>', $pq->getDocumentID())
// 根據DOM節點的歸屬將同樣的文檔載入:pq('<div/>', DOMNode)
// 從phpQuery 對象載入文檔: pq('<div/>', $pq)

2. 運行查詢

// 根據最后一個選擇的文檔執行查詢:pq('div.myClass')
// 根據$pq->getDocumentID()的ID從文檔中進行查詢:pq('div.myClass', $pq->getDocumentID())
// 在同樣的文檔上根據DOM節點的歸屬進行查詢並且使用節點作為查詢的根節點:pq('div.myClass', DOMNode)
// 在文檔上使用phpQuery對象進行查詢
// 同時使用對象的棧作為根節點進行查詢: pq('div.myClass', $pq) 

3. 使用phpQuery對象對DOM節點進行原型化操作

foreach(pq('li') as $li) // $li是純DOM節點, 將它變為phpQuery對象: pq($li);

選擇器

選擇器是類似於jQuery接口的一個核心。大多數CSS3語法已經被采用(和jQuery保持同步)。

示例

pq(".class ul > li[rel='foo']:first:has(a)")->appendTo('.append-target-wrapper div')->...

基礎

  • #id 根據給定的ID屬性匹配單個元素。

  • element 根據給定的名稱匹配所有符合的元素。
  • .class 根據給定的class匹配所有的元素。
  • * 選擇所有元素。
  • selector1, selector2, selectorN 根據所有制定的選擇器匹配結合結果。

層級 

  • ancestor descendant 匹配由先祖指定的元素的后代指定的所有后代元素。

  • parent > child 匹配由父元素指定的子元素指定的所有子元素。
  • prev + next 根據指定的"next"和指定的"prev"匹配所有的下一個元素。
  • prev ~ siblings 匹配根據"prev" 元素的 所有相鄰元素。

基礎過濾 

  • :first匹配第一個被選擇的元素。

  • :last 匹配最后一個被選擇的元素。
  • :not(selector) 匹配所有不是被選擇的元素。
  • :even 匹配所有被選擇的偶數元素,0索引。
  • :odd 匹配所有被選擇的奇數元素,0索引。
  • :eq(index) 匹配等同於給定的索引的元素。
  • :gt(index) 匹配大於給定的索引的元素。
  • :lt(index) 匹配小於給定的索引的元素。
  • :header 匹配所有header元素,如h1,h2,h3等。
  • :animated 匹配正在進行動畫效果的元素。

文本過濾 

  • :contains(text) 匹配包含指定文本的元素。

  • :empty 匹配所有無子節點的元素(包括文本節點)。
  • :has(selector) 匹配至少包含一個對於給定選擇器的元素。
  • :parent 匹配所有父元素 - 擁有子元素的,包括文本。

屬性過濾 

子元素過濾 

表單 

  • :input 匹配input, textarea, select和button元素。

  • :text 匹配所有類型為text的input元素。
  • :password 匹配所有類型為password的input元素。
  • :radio 匹配所有類型為radio的input元素。
  • :checkbox 匹配所有類型為checkbox的input元素。
  • :submit 匹配所有類型為submit的input元素。
  • :image 匹配所有類型為image的input元素。
  • :reset 匹配所有類型為reset的input元素。
  • :button 匹配所有類型為button的input元素和button元素。
  • :file 匹配所有類型為file的input元素。
  • :hidden 匹配所有類型為hidden的input元素或者其他hidden元素。

表單過濾 

  • :enabled 匹配所有可用元素。

  • :disabled 匹配所有不可用元素。
  • :checked 匹配所有被勾選的元素。
  • :selected 匹配所有被選擇的元素。

方法

示例

pq('a')->attr('href', 'newVal')->removeClass('className')->html('newHtml')->...

Attr

  • attr($name) 訪問第一個給名稱的元素的屬性。這個方法可以很輕易地取得第一個匹配到的元素的屬性值。如果這個元素沒有對應名稱的屬性則返回undefined。

  • attr($properties) 對於所有匹配到的元素設置對應屬性。
  • attr($key, $value) 對於匹配到的元素設置一個屬性和對應值。
  • attr($key, $fn) 對於匹配到的元素設置一個屬性和需要計算的值。
  • removeAttr($name) 對匹配到的元素移除給定名稱的屬性。

Class

HTML

  • html() 獲取第一個匹配到的元素的html內容(innerHTML)。這個方法不適用於XML文本(但適用於XHTML。)

  • html($val) 對匹配到的元素設置html內容。這個方法不適用於XML文本(但適用於XHTML。)

Text 

  • text() 獲取匹配到的所有元素的文本內容。

  • text($val) 對匹配到的所有元素設置文本內容。

Value 

    • val() 獲取匹配到的第一個元素的value屬性的值。

    • val($val) 對匹配到的元素設置value值。
    • val($val) 所有的Checks, selects, radio buttons, checkboxes,和select options都會設置相應給定的值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM