使用伪类¶
:button¶
匹配所有按钮输入元素和按钮元素:
>>> from pyquery import PyQuery
>>> d = PyQuery(('<div><input type="button"/>'
... '<button></button></div>'))
>>> d(':button')
[<input>, <button>]
:checkbox¶
匹配所有复选框输入元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><input type="checkbox"/></div>')
>>> d('input:checkbox')
[<input>]
:checked¶
匹配奇数元素,零索引::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><input checked="checked"/></div>')
>>> d('input:checked')
[<input>]
:child¶
右派是左派的直系子女
:contains()¶
匹配包含给定文本的所有元素
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><h1/><h1 class="title">title</h1></div>')
>>> d('h1:contains("title")')
[<h1.title>]
:descendant¶
右是一个孩子,孙子或左派的后代。
:disabled¶
匹配所有禁用的元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><input disabled="disabled"/></div>')
>>> d('input:disabled')
[<input>]
:empty¶
匹配不包含其他元素的所有元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><h1><span>title</span></h1><h2/></div>')
>>> d(':empty')
[<h2>]
:enabled¶
匹配所有已启用的元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><input value="foo" /></div>')
>>> d('input:enabled')
[<input>]
:eq()¶
按其索引匹配单个元素:
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><h1 class="first"/><h1 class="last"/></div>')
>>> d('h1:eq(0)')
[<h1.first>]
>>> d('h1:eq(1)')
[<h1.last>]
:even¶
匹配偶数元素,零索引::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><p></p><p class="last"></p></div>')
>>> d('p:even')
[<p>]
:file¶
匹配类型文件的所有输入元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><input type="file"/></div>')
>>> d('input:file')
[<input>]
:first¶
匹配第一个选定元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><p class="first"></p><p></p></div>')
>>> d('p:first')
[<p.first>]
:gt()¶
将所有元素与给定元素的索引匹配::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><h1 class="first"/><h1 class="last"/></div>')
>>> d('h1:gt(0)')
[<h1.last>]
:has()¶
- 匹配至少包含一个匹配元素的元素
指定的选择器。https://api.jquery.com/has-selector/
>>> from pyquery import PyQuery >>> d = PyQuery('<div class="foo"><div class="bar"></div></div>') >>> d('.foo:has(".baz")') [] >>> d('.foo:has(".foo")') [] >>> d('.foo:has(".bar")') [<div.foo>] >>> d('.foo:has(div)') [<div.foo>]
:header¶
匹配所有标题元素(h1,…,h6)::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><h1>title</h1></div>')
>>> d(':header')
[<h1>]
:image¶
匹配所有图像输入元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><input type="image"/></div>')
>>> d('input:image')
[<input>]
:input¶
匹配所有输入元素::
>>> from pyquery import PyQuery
>>> d = PyQuery(('<div><input type="file"/>'
... '<textarea></textarea></div>'))
>>> d(':input')
[<input>, <textarea>]
:last¶
匹配上一个选定元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><p></p><p class="last"></p></div>')
>>> d('p:last')
[<p.last>]
:lt()¶
匹配索引低于给定索引的所有元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><h1 class="first"/><h1 class="last"/></div>')
>>> d('h1:lt(1)')
[<h1.first>]
:odd¶
匹配奇数元素,零索引::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><p></p><p class="last"></p></div>')
>>> d('p:odd')
[<p.last>]
:parent¶
匹配包含其他元素的所有元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><h1><span>title</span></h1><h1/></div>')
>>> d('h1:parent')
[<h1>]
:password¶
匹配所有密码输入元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><input type="password"/></div>')
>>> d('input:password')
[<input>]
:radio¶
匹配所有无线电输入元素:
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><input type="radio"/></div>')
>>> d('input:radio')
[<input>]
:reset¶
匹配所有重置输入元素:
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><input type="reset"/></div>')
>>> d('input:reset')
[<input>]
:selected¶
匹配选定的所有元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<select><option selected="selected"/></select>')
>>> d('option:selected')
[<option>]
:submit¶
匹配所有提交输入元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><input type="submit"/></div>')
>>> d('input:submit')
[<input>]
:text¶
匹配所有文本输入元素::
>>> from pyquery import PyQuery
>>> d = PyQuery('<div><input type="text"/></div>')
>>> d('input:text')
[<input>]