您的位置:首页 > 产品设计 > UI/UE

phpQuery中文手册(更新中)

2017-03-10 00:00 316 查看
目前网上phpQuery的中文文档比较少,并且官方文档在谷歌上,特别整理了一些常用的phpQuery方法,供大家查阅以及新手学习。

以下资料均来自官方文档,官方文档地址:https://code.google.com/archive/p/phpquery/wikis

基础

示例

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 匹配所有父元素 - 拥有子元素的,包括文本。

属性过滤

[attribute] 匹配给定属性的元素。

[attribute=value] 匹配给定属性等于确定值的元素。

[attribute!=value] 匹配给定属性不等于确定值的元素。

[attribute^=value] 匹配给定属性是确定值开始的元素。

[attribute$=value] 匹配给定属性是确定值结尾的元素。

[attribute*=value] 匹配给定属性包含确定值的元素。

[selector1selector2selectorN] 匹配给定属性并且包含确定值的元素。

子元素过滤

:nth-child(index/even/odd/equation) 匹配所有是父元素的第n个的子元素,或者是父元素的偶数或者奇数子元素。

:first-child 匹配所有是父元素的第一个的子元素。

:last-child 匹配所有是父元素的最后一个的子元素。

:only-child 匹配所有是父元素唯一子元素的子元素。

表单

: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

addClass($class) 对匹配到的元素添加一个给定的类。

hasClass($class) 如果有至少一个匹配到的元素包含给定的类则返回true。

removeClass($class) 对匹配到的元素移除给定名称的类。

toggleClass($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都会设置相应给定的值。

以上是phpQuery的基本操作方法,大家有什么想要继续了解的请留言,我会抽空更新。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  phpQuery