Jsoup如何获得某元素后面的所有兄弟元素
最近在做简单的爬数据项目,老是遇到要获得某个元素后面的所有兄弟元素都被卡住了,查了JSOUP文档(http://www.open-open.com/jsoup/selector-syntax.htm)老是找不到一个方法去获取,试了siblingElements(), firstElementSibling(), lastElementSibling();nextElementSibling(), previousElementSibling()这些方法,都发现只是能拿到以前的某个兄弟元素而已,昨天话了很长一段时间才把这个问题解决了,问题和答案如下:
问题:获得<div class="test"></div>后面所有兄弟元素 <div class="bbb"></div>
<div class="aaa"><div class="bbb"></div> <div class="bbb"></div><div class="bbb"></div><div class="bbb"></div><div class="bbb"></div><div class="test"></div><div class="bbb"></div><div class="bbb"></div><div class="bbb"></div><div class="bbb"></div><div class="bbb"></div>
</div>
<strong><span style="font-size:18px;">答案:</span></strong>
<pre name="code" class="java">package com.util;import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;public class test {public static void main(String[] args) {String html = "<div class='aaa'>"+ "<div class='bbb'></div>" + "<div class='bbb'></div>" + "<div class='bbb'></div>" + "<div class='bbb'></div>" + "<div class='bbb'></div>" + "<div class='test'></div>" + "<div class='bbb'></div>" + "<div class='bbb'></div>" + "<div class='bbb'></div>" + "<div class='bbb'></div>" + "<div class='bbb'></div>" + "</div>";Document doc = Jsoup.parse(html);Elements elements = doc.select("div.aaa > *"); Elements elementsTable = new Elements();boolean isRow = true;for(Element element :elements){if(!element.hasClass("bbb")){isRow = false;}if(!isRow && element.hasClass("bbb")){elementsTable.add(element);}}System.out.println(elementsTable);}}
结果输出:
<div class="bbb"></div>
<div class="bbb"></div>
<div class="bbb"></div>
<div class="bbb"></div>
<div class="bbb"></div>
Jsoup如何获得某元素后面的所有兄弟元素相关推荐
- 兄弟选择器——用于选择除第一个元素外的其他兄弟元素
兄弟选择器--用于选择除第一个元素外的其他兄弟元素 兄弟选择器是CSS选择器中的一种,如 div.bar + ul表示:选择类名为bar的div的为ul的兄弟元素,我们可以用它来选择除第一个元素外的其 ...
- js 兼容性封装获取第一个子元素,最后一个子元素,下一个兄弟元素,上一个兄弟元素
高级浏览器: chrome firefox ie9及以上符合web标准浏览器. 低版本浏览器: ie6,ie7,ie8. 节点和元素的适用范围:以firstChild和firstElementChil ...
- vue点击当前元素添加class 删除兄弟元素的class
在vue中当我们要实现点击元素动态添加类名时,我们不能像JQ那样去用(xxx.addClass('class').siblings().removeClass('class'))实现,那我们应该怎样去 ...
- CSS3中的群组选择器,后代选择器[空格]子元素选择器 >相邻兄弟选择器+兄弟选择器~
群组选择器(',') /* 表示既h1,又h2 */ h1, h2 {color: red; } 后代选择器[空格] /* 表示 h1 下面的所有 span 元素,不管是否以 h1 为直接父元素 */ ...
- html兄弟选择器怎么用,兄弟选择器 - 选择后面相邻的所有兄弟元素 - css3普通选择器...
兄弟选择器 版本:CSS3 定义和用法E~F用于选择第一个元素之后所有的兄弟级的元素.只作用于同级元素. 这两个元素必须具有相同的父元素.F不必紧跟E. 语法:E~F{sRules} 选择E元素后面的 ...
- jQuery中兄弟元素、子元素和父元素的获取
我们这里主要总结jQuery中对某元素的兄弟元素.子元素和父元素的获取,原声的Javascript代码对这些元素的获取比较麻烦一些,而jQuery正好对这些方法进行封装,让我们更加方便的对这些元素进行 ...
- Thinking -- CSS从根解决选择前一个兄弟元素
Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想. 开发中遇到这样一个诉求:特定class的元素单独占一行,现需要针对其前一个兄弟元素增加相应标识,以使其占据所在行的剩余所有空间. ...
- css3之通用兄弟元素选择器
所谓兄弟元素选择器:它是用来指定位于同一个父元素之中的某个元素之后的所有其他某个种类的兄弟元素所使用的样式. 使用方式: <子元素>~<子元素之后的同级兄弟元素>{ ...
- jquery 遍历父元素、子元素、兄弟元素
寻找父元素 1. parent()方法,只返回被选元素的直接父元素,只遍历到上一级的父元素,返回的是一个元素. 2. parents()方法,返回被选元素的所有父元素,一直向上遍历,直到文档的根元素为 ...
最新文章
- 使用Keil语言的嵌入式C编程教程(上)
- springboot 配置资源映射路径
- ios 使用webview 查找_iOS开发WKWebView与JS的交互
- bootstrap4高度占一半_减肥选对了碳水,意味着成功了一半
- 【Java】 剑指offer(4) 替换空格
- Gradle 4.8.1基本配置
- 适合android平板的浏览器,推荐5款安卓平板Pad版应用浏览器
- 【国土】国土“三调”,用这个方案就对了
- Linux7网卡绑定后mac一样,如何解决双网卡bond0绑定模式物理成员口的mac地址和bonding接口mac地址不一致......
- 互联网吞噬传统书店:全球大批书店倒闭
- (二)Spring中的ioc
- java 指纹匹配算法_java指纹识别的精确算法——SIFT算法 | 学步园
- spyglass CDC方法学
- php 百分比转换小数点,php 百分数如何转小数
- 爬取简单静态网站——汽车之家二手车
- Python爬虫系列之MeiTuan优选商家端商品自动化管理(商品发布、商品排期、订单采集)
- 全国计算机公共等级考试PETS,2016年下半年全国公共英语等级考试(PETS)和全国计算机等级考试(NCRE)考务工作视频会议顺利召开...
- Chrom扩展程序的导入与导出
- AI已来,最应该担心的不是生命,而是存在的意义
- HTML5和CSS3一些基本概括