Skip to content

legado.dom.select / selectAll

CSS 选择器查询。

legado.dom.select

选择第一个匹配的元素,返回元素句柄。

js
legado.dom.select(handle, selector) → string | null
参数类型说明
handlestring文档句柄或元素句柄
selectorstringCSS 选择器

返回值:元素句柄字符串,无匹配时返回 null

legado.dom.selectAll

选择所有匹配的元素,返回元素句柄数组。

js
legado.dom.selectAll(handle, selector) → string[]

返回值:元素句柄字符串数组。

支持的 CSS 选择器

基于标准 CSS 选择器语法,常用的包括:

选择器示例说明
标签adiv标签名选择
ID#contentID 选择
.book-item类名选择
属性[property="og:title"]属性选择
后代div .title后代选择
子元素ul > li直接子元素
组合.list a.active组合选择
多选h1, h2, h3多个选择器
伪类li:first-child伪类选择

示例

基本选择

js
var doc = legado.dom.parse(html);

// 选择单个元素
var title = legado.dom.select(doc, 'h1.book-title');
if (title) {
  var text = legado.dom.text(title);
}

// 选择所有匹配
var items = legado.dom.selectAll(doc, '.book-list li');
for (var i = 0; i < items.length; i++) {
  var name = legado.dom.text(items[i]);
}

子选择(在元素内查找)

js
var container = legado.dom.select(doc, '.search-results');
if (container) {
  // 在 container 内部查找
  var links = legado.dom.selectAll(container, 'a.book-link');
}

属性选择器

js
// Open Graph meta 标签
var ogTitle = legado.dom.select(doc, 'meta[property="og:title"]');
var ogImage = legado.dom.select(doc, 'meta[property="og:image"]');

// 自定义数据属性
var item = legado.dom.select(doc, '[data-book-id="123"]');

基于 MIT 许可发布