背景:MaxKB 创建知识库支持“web 站点”的这种形式,但是很多同学不知道怎么录入选择器来针对性的获取某一部分内容。

1. 选择器作用

选择器用于定位网页中特定的元素,以便获取其数据。

默认情况下,如果没有指定选择器,系统会获取整个 body 的内容。

如果需要获取页面中某个特定区域的内容,就需要通过选择器来定位这个区域。

2.怎么编写选择器

2.1 使用浏览器的开发者工具

  • 打开目标网页。

  • 右键点击页面中你想要获取数据的区域,选择“检查”(Inspect)。

  • 在开发者工具中,你会看到页面的 HTML 结构。

  • 找到对应的 HTML 元素(例如< div >、< span >等),并查看它的类名(class)、ID(id)或其他属性。

2.2 编写选择器

  • 在开发者工具的“控制台”(Console)中,可以使用 querySelector() 或 document.querySelectorAll() 来测试选择器是否正确。

    • querySelector:捕获首位“中意之人”。

    • querySelectorAll:网罗全部“中意之人”。

  • 拿类选择器举例:

以下是相关选择器参考:

  • 标签选择器

    语法:document.querySelector('标签名')

    示例:document.querySelector('div'),选择页面中的第一个< div >元素。

  • 类选择器

    语法:document.querySelector('.类名')

    示例:document.querySelector('.md-container'),选择页面中第一个带有 class="md-container" 的元素。

  • ID 选择器

    语法:document.querySelector('#ID名')

    示例:document.querySelector('#_1'),选择页面中 id="_1" 的元素。

  • 属性选择器

    语法:document.querySelector('元素名[属性名]') 或 document.querySelector('元素名[属性名="属性值"]')

    示例:

    document.querySelector('input[type="text"]'),选择页面中第一个 type="text" 的 < input > 元素。

    document.querySelector('img[alt]'),选择页面中第一个带有 alt 属性的< img > 元素。

  • 组合选择器

    语法:可以将多个选择器组合使用,例如类和标签组合。

    示例:document.querySelector('div.container'),选择页面中第一个 < div > 且 class="container" 的元素。

  • 伪类选择器

    语法:document.querySelector('元素名:伪类名')

    示例:document.querySelector('li:first-child'),选择页面中第一个 < li > 元素。

  • 后代选择器

    语法:document.querySelector('祖先元素 后代元素')

    示例:document.querySelector('ul li'),选择页面中第一个 < ul > 元素内的 < li > 元素。

  • 子代选择器

    语法:document.querySelector('父元素>子元素')

    示例:document.querySelector('ul>li'),选择页面中第一个 < ul > 元素的直接子元素 < li >。

  • 相邻兄弟选择器

    语法:document.querySelector('元素1+元素2')

    示例:document.querySelector('button+div'),选择页面中第一个紧接在 < button > 元素之后的 < div > 元素。

  • 通用兄弟选择器

    语法:document.querySelector('元素1~元素2')

    示例:document.querySelector('input~div'),选择页面中第一个 < input > 元素之后的所有 < div > 元素。

  • 其他选择器

    • 如果目标元素没有类名或 ID,但可以通过其他属性或层级关系定位,可以使用更复杂的选择器。例如:

      • 如果目标元素是一个 < div >,并且它是某个父元素的第一个子元素,可以使用 div:nth-child(1)。

      • 如果目标元素是某个特定类名的子元素,可以使用嵌套选择器,例如 .md-container > .md-main。

注意:MaxKB 选择器则是录入 document.querySelector() 或者 document.querySelectorAll() 中单引号中的内容。

附录:

更多参考:https://www.runoob.com/cssref/css-selectors.html

MaxKB web 站点知识库选择器的花样玩法的更多相关文章

  1. Less混合结合:nth-child()选择器的高级玩法

    1.先看效果图 上图中比较麻烦的是每块的底色处理,下面看怎么处理 2.:nth-child(n) 选择器 匹配属于其父元素的第 N 个子元素,不论元素的类型. n 可以是数字.关键词或公式. 数字:最 ...

  2. 手机web站点和手机app 技术选型的困惑于思考

    今年一直在关注移动端技术的发展,自己也用博客园的rss接口玩了半年,关于技术选型的困惑和大家说说 一 趋势 随着手机硬件不断的升级,外加4g牌照的发放,不出2年时间移动端web站点和手机app一定会进 ...

  3. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点

    在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...

  4. 【读书笔记】2016.12.10 《构建高性能Web站点》

    本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 ...

  5. 如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites]

    如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites] 一.布局页面介绍[Abo ...

  6. 将Web站点由IIS6迁移至IIS7

    最近开始着手逐步将所有的Web站点由Win2003+IIS6迁移至64位Win2008+IIS7,基本还算顺利.这里就把相关内容整理总结一下.首先自然是要安装基本运行环境,包括iis,.net fra ...

  7. 《构建高性能web站点》随笔 无处不在的性能问题

    前言– 追寻大牛的足迹,无处不在的“性能”问题. 最近在读郭欣大牛的<构建高性能Web站点>,读完收益颇多.作者从HTTP.多级缓存.服务器并发策略.数据库.负载均衡.分布式文件系统多个方 ...

  8. 利用IIS导出,导入快速部署 web站点

    部署负载均衡站点的时候会创建多个站点拷贝.用脚本可以提高效率,并且减少错误 1 以管理员身份运行CMD 2 Cd C:\Windows\System32\inetsrv 3 导出指定的应用程序池 ap ...

  9. 为Windows Azure Web站点添加MIME类型解决文件下载失败的问题

    这几天在倒腾Autodesk 360 Viewer,前面的文章也介绍过了,这将是一个全新的在线模型浏览工具.我做了个实验,把A360Viewer放在一个web 站点,然后发布到Windows Azur ...

  10. 让 Web 站点崩溃最常见的七大原因

    磁盘已满 导致系统无法正常运行的最可能的原因是磁盘已满.一个好的网络管理员会密切关注磁盘的使用情况,隔一定的时间,就需要将磁盘上的一些负载转存到备份存储介质中(例如磁带).   日志文件会很快用光所有 ...

随机推荐

  1. Linux基础:用户与用户组

  2. 微信小程序block的作用

    有了block标签过后,你就可以把if 或则 for 语句写在block标签里面; 这样就控制了这一块的逻辑. 个人建议是要是v-if和v-for的都可以写在block上: block并不是一个组件, ...

  3. 数字先锋 | 车企,出海!天翼云AOne擦亮车企“智慧服务”新名片!

    近年来,中国汽车市场迎来巨变,消费者的消费习惯不断变迁,价格战愈演愈烈......如何紧跟数字化转型步伐,实现稳健经营,成为车企所面临的时代命题. 作为一家科技型制造企业,某车企主营业务涉及汽车及核心 ...

  4. 用python做时间序列预测四:*稳/非*稳时间序列

    上篇文章简单提到了应该用*稳时间序列做预测,本文将介绍具体概念和原因. Stationary Series *稳序列 *稳序列有三个基本标准: 1.序列的均值(mean)不应该是时间的函数(意思是不应 ...

  5. 【Unity】URP中的UGUIShader实现

    [Unity]URP 中的 UGUIShader 实现 参考官方 Shader 代码实现: https://github.com/TwoTailsGames/Unity-Built-in-Shader ...

  6. 【软件开发】vcpkg学习笔记

    [软件开发]vcpkg 学习笔记 "vcpkg"是一个免费开源的 C++包管理器,可以以此很方便的处理第三方库的接入,且可嵌入进 CMake 中. 入门 入门教程请参照: http ...

  7. Deepseek学习随笔(9)--- 清华大学发布Deepseek赋能职场(附网盘链接)

    作为一名职场人,在工作中常常面临效率瓶颈:如何快速生成高质量内容?如何高效处理复杂任务?这些问题在接触了<清华大学-DeepSeek赋能职场>这份文档后,得到了全新的解答.这份由清华大学新 ...

  8. CART回归树基本原理(具体例子)

    id3不能直接处理连续性的特征,需要将连续性的转化成离散的,但是会破坏连续性特征的内在结构. 一.概念 CART全称叫Classification and Regression Tree.首先要强调的 ...

  9. oracle - [11] 那些年使用的emp表和dept表

    那些年在学习编程时,Oracle自带的emp表和dept表,本文进行整理和记录,以便于在今后的学习和工作中作为示例数据. 雇员表(emp) CREATE TABLE EMP( EMPNO NUMBER ...

  10. ES - 概述

    前言 Q1:ElasticSearch 是什么? 为什么要学习? ElasticSearch 是一个分布式.可扩展.实时的搜索和分析引擎,基于 Lucene 构建.它可以用于全文搜索.结构化搜索.分析 ...