jQuery 提供了几个选择器来进行我们要查找的查询。
开始于、结束于和 contains() 选择器也可用于选择指定的字符串。
让我们考虑一下 HTML 列表:
<ul data-group="Books"> <li data-book="JavaScript"></li> <li data-book="CSS"></li> <li data-book ="HTML"></li> </ul>
使用基本查询来获取“Books”下方带有 data-book="JavaScript" 的所有元素并获取“Books”下方带有 data-book!="JavaScript" 的所有元素,我们应该使用以下内容:
$("ul[data-group='Books'] li[data-book='JavaScript']")
$("ul[data-group='Books'] li:not([data-book='JavaScript'])")
我们还可以使用多个元选择器。
如果要做多个查询,建议缓存父选择:
let group = $('ul[data-group="Books"]');
然后你可以寻找以 C 开头的书籍:
let css = $('[data-book^="C"]', group).css('color', '#qc87c9');
或者包含文字脚本的书籍:
let javascript = $('[data-book*="Script"]', group).css('color', '#8ebf42');
我们还可以获取数据属性结尾匹配的元素:
let html = $('[data-book$="ML"]', group).css('color', '#ff0000');
这里是完整的例子。
尝试看看它是如何工作的:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.0/jquery.min.js"></script>
</head>
<body>
<ul data-group="Books">
<li data-book="JavaScript">JavaScript</li>
<li data-book="CSS">CSS</li>
<li data-book="HTML">HTML</li>
</ul>
<script>
$(document).ready(function() {
//stored selector
let group = $('ul[data-group="Books"]');
//data-book starts with C
let css = $('[data-book^="C"]', group).css('color', '#qc87c9');
//data-book contains script
let javascript = $('[data-book*="Script"]', group).css('color', '#8ebf42');
//data-book ends with ML
let html = $('[data-book$="ML"]', group).css('color', '#ff0000');
});
</script>
</body>
</html>
jQuery 选择器
jQuery 提供了一组工具,用于匹配借用 CSS 1-3 形成的文档中的一组元素。
:contain() 选择包含给定字符串的所有元素。
开始选择器选择具有给定属性的元素,该属性的值恰好以指定的字符串开头。
结尾选择器选择具有给定属性且值恰好以指定字符串结尾的元素。
日期:2020-06-02 22:16:27 来源:oir作者:oir
