发布网友 发布时间:2022-04-25 23:54
共4个回答
懂视网 时间:2022-04-20 21:52
使用JQuery,可以很容易的选择THML元素。但在有些时候,HTML结构比较复杂的时候,提炼我们选择的元素就是一件比较麻烦的事情。1、children
这个函数得到一组元素的直接子级。
给children()传递一个选择表达式将选择结果缩小至选中的元素;
如果chilidren()每接受任何参数,将返回所有直接子级;不返回它的孙级元素。
2、filter
这个函数通过传递的选择表达式从一个集合中过滤元素。任何不匹配这个表达式的元素将从选择的集合中移除。
3、not
与filter恰恰相反,not()从集合中移除匹配的元素。
4、add
如果我们想在集合中增加一些元素怎么办?add()函数正是做这件事的。
5、slice
有时候,我们需要根据元素在集合的位置获取集合的子集。sliece()正是做这个的。
第一个参数是从零开始的第一个元素的位置,它包含在返回的片段中;
第二个参数是从零开始的第一个元素的索引。不包含在返回的片段中。如果省略,将延伸至集合的末尾;
6、parent
parent()函数选取一系列元素的直接父级。
7、parents
这是复数形式,parents()选择集合的所有祖先元素。我的意思是所有祖先元素包括直接父级到“body”和“html”元素。所以最好通过传递表达式缩小选择结果。
8、siblings
这个函数选择一组元素的所有兄弟姐妹,传递一个表达式可以筛选结果。
9、prev & prevAll
prev()函数选择前一个兄弟节点。prevAll()选择一个元素集合前面所有的兄弟节点。
10、next & nextAll
这些函数与prev和prevAll工作方式相同,不过它选择的是下一个兄弟姐妹。
热心网友 时间:2022-04-20 19:00
$(":contains('First')");//这种是jquery内置的包含选择器,但是因为是包含,因此选择的内容只要包含“First”就会选中。另外一种通用的。用过滤函数。
但上面的这种方式只适合你这种情况,如果你的li元素像下面这样:
也是不行的。就是说,必须元素下只有文字,不再有其他元素。
追答jquery选择器在支持querySelector的情况下。用的是css选择器。如果不支持css选择器,jquery内部的选择器用的是sizzle.js。所以说,无论如何,要查找某个文档元素,必然是需要遍历的,要么是浏览器的css选择器帮你遍历,要么是jquery的sizzle帮你遍历,要么就是你自己遍历。
现在你想要根据html的内容筛选元素,首先我要说,这种方式的效率是极为低下的,css选择器里没有这种选项。jquery也仅仅提供了$(":contains('First')")这种选择器。跟你的要求最为接近。
至于你想要jquery直接帮你完成你的要求,这是绝对不可能的。没有这样的函数帮你实现。因为这样的函数效率太低了。
用filter的方式,你写的方式当然是可以的,但也仅此而已,不能适应其他的情况。
热心网友 时间:2022-04-20 20:18
first 是第一个li里面的 你可以获取第一个li试试
$('ul li:first')
追答
可以啊;
用另外一种方法
这是我写的一个例子,Jquery库文件自己引入下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
热心网友 时间:2022-04-20 21:52
<script>