乐趣区

关于golang:goquery-选择器的使用

Jquery 的选择器堪称之弱小无比,这里简略地总结一下罕用的元素查找办法.

$(“#myELement”) 抉择 id 值等于 myElement 的元素,id 值不能反复在文档中只能有一个 id 值是 myElement 所以失去的是惟一的元素
$(“div”) 抉择所有的 div 标签元素,返回 div 元素数组
$(“.myClass”) 抉择应用 myClass 类的 css 的所有元素
$(“*”) 抉择文档中的所有的元素,能够使用多种的抉择形式进行联结抉择:例如 $(“#myELement,div,.myclass”)

层叠选择器:

$(“form input”) 抉择所有的 form 元素中的 input 元素
$(“#main > *”) 抉择 id 值为 main 的所有的子元素
$(“label + input”) 抉择所有的 label 元素的下一个 input 元素节点,经测试选择器返回的是 label 标签前面间接跟一个 input 标签的所有 input 标签元素
$(“#prev ~ div”) 同胞选择器,该选择器返回的为 id 为 prev 的标签元素的所有的属于同一个父元素的 div 标签

根本过滤选择器:

$(“tr:first”) 抉择所有 tr 元素的第一个
$(“tr:last”) 抉择所有 tr 元素的最初一个
$(“input:not(:checked) + span”)
过滤掉:checked 的选择器的所有的 input 元素

$(“tr:even”) 抉择所有的 tr 元素的第 0,2,4… … 个元素(留神:因为所抉择的多个元素时为数组,所以序号是从 0 开始)

$(“tr:odd”) 抉择所有的 tr 元素的第 1,3,5… … 个元素
$(“td:eq(2)”) 抉择所有的 td 元素中序号为 2 的那个 td 元素
$(“td:gt(4)”) 抉择 td 元素中序号大于 4 的所有 td 元素
$(“td:ll(4)”) 抉择 td 元素中序号小于 4 的所有的 td 元素
$(“:header”)
$(“div:animated”)

内容过滤选择器:

$(“div:contains(‘John’)”) 抉择所有 div 中含有 John 文本的元素
$(“td:empty”) 抉择所有的为空(也不包含文本节点)的 td 元素的数组
$(“div:has(p)”) 抉择所有含有 p 标签的 div 元素
$(“td:parent”) 抉择所有的以 td 为父节点的元素数组

可视化过滤选择器:

$(“div:hidden”) 抉择所有的被 hidden 的 div 元素
$(“div:visible”) 抉择所有的可视化的 div 元素

属性过滤选择器:

$(“div[id]”) 抉择所有含有 id 属性的 div 元素
$(“input[name=’newsletter’]”) 抉择所有的 name 属性等于 ’newsletter’ 的 input 元素
$(“input[name!=’newsletter’]”) 抉择所有的 name 属性不等于 ’newsletter’ 的 input 元素
$(“input[name^=’news’]”) 抉择所有的 name 属性以 ’news’ 结尾的 input 元素
$(“input[name$=’news’]”) 抉择所有的 name 属性以 ’news’ 结尾的 input 元素
$(“input[name*=’man’]”) 抉择所有的 name 属性蕴含 ’news’ 的 input 元素
$(“input[id][name$=’man’]”) 能够应用多个属性进行联结抉择,该选择器是失去所有的含有 id 属性并且那么属性以 man 结尾的元素

子元素过滤选择器:

$(“ul li:nth-child(2)”),$(“ul li:nth-child(odd)”),$(“ul li:nth-child(3n + 1)”)
$(“div span:first-child”) 返回所有的 div 元素的第一个子节点的数组
$(“div span:last-child”) 返回所有的 div 元素的最初一个节点的数组
$(“div button:only-child”) 返回所有的 div 中只有惟一一个子节点的所有子节点的数组

表单元素选择器:

$(“: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 元素
$(“:file”) 抉择所有的 file input 元素
$(“:hidden”) 抉择所有类型为 hidden 的 input 元素或表单的暗藏域

表单元素过滤选择器:

$(“:enabled”) 抉择所有的可操作的表单元素
$(“:disabled”) 抉择所有的不可操作的表单元素
$(“:checked”) 抉择所有的被 checked 的表单元素
$(“select option:selected”) 抉择所有的 select 的子元素中被 selected 的元素

选取一个 name 为 ”S_03_22″ 的 input text 框的上一个 td 的 text 值
$(“input[@ name =S_03_22]”).parent().prev().text()

名字以”S_”开始,并且不是以”_R”结尾的
$(”input[@ name ^=’S_’]“).not(”[@ name $=’_R’]“)

一个名为 radio_01 的 radio 所选的值
$(”input@ name =radio_01“).val();
$(“A B”) 查找 A 元素上面的所有子节点,包含非间接子节点
$(“A>B”) 查找 A 元素上面的间接子节点
$(“A+B”) 查找 A 元素前面的兄弟节点,包含非间接子节点
$(“A~B”) 查找 A 元素前面的兄弟节点,不包含非间接子节点

退出移动版