$(":contains('First')");//这种是jquery内置的包含选择器,但是因为是包含,因此选择的内容只要包含“First”就会选中。另外一种通用的。用过滤函数。$('*').filter(function(index, el){ var childNodes = el.childNodes; return childNodes.length === 1 childNodes[0].nodeType === 3 childNodes[0].nodeValue === 'First';});但上面的这种方式只适合你这种情况,如果你的li元素像下面这样:First这是链接哦也是不行的。就是说,必须元素下只有文字,不再有其他元素。
成都创新互联服务项目包括六安网站建设、六安网站制作、六安网页制作以及六安网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,六安网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到六安省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
一. 同级节点之间的检索(检索深度N=0)
next()是在兄弟节点中,往后匹配;
prev()是在兄弟节点中,往前匹配。
二. 父级/子级节点的检索(检索深度N=1)
children()是在子节点中,往后匹配。
parent()是在父节点中,往前匹配。
ps:请注意了---子节点和父节点都是相邻的,深度为1的节点,也就是标题提到的检索深度为1
三. 后代节点的检索(检索深度N=1)
find()检索的是子代元素和后代元素,不会检索兄弟节点。
parents() 检索的是祖辈元素(包括父元素)的集合。
closest()检索的是最近的祖辈元素(一个)
ps:当往上级检索节点的时候,推荐使用closet,效率更高!
jQuery 匹配上一个元素的方法是 prev() 。
如果给定一个表示 DOM 元素集合的 jQuery 对象,prev() 方法在 DOM 树中搜索这些元素的前一个同胞元素,并用匹配元素构造一个新的 jQuery 对象。类似地,.next() 方法用以获得匹配元素集合中每个元素紧邻的后一个同辈元素。
1、语法:
.prev(selector)
功能:获得匹配元素集合中每个元素紧邻的前一个同辈元素,由选择器筛选(可选)
参数:selector 字符串值,包含用于匹配元素的选择器表达式。
2、示例:
$("p").prev(".selected"); // 检索每个段落,找到前一个类名为 "selected" 的同胞元素
自动化测试中,经常要是用js来模拟元素点击。
定位包含文本元素通常可以这样写。
如:$('a:contains(test)')[0].click()来实现
但会有一个问题,这样只能模糊匹配
比如,我有两个链接,一个叫test,一个叫autotest
这是就会出现问题,就会定位出两个元素
可以使用jeueqy的fliter或map方法来实现精确匹配
或者直接点击