首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用JavaScript,我如何写“如果下一个同级有特定的类名xxx,做这个,否则做那个”?

在JavaScript中,你可以使用条件语句和DOM操作来实现“如果下一个同级有特定的类名xxx,做这个,否则做那个”的逻辑。

首先,你可以使用querySelector方法来选择下一个同级元素。然后,你可以使用classList属性来检查该元素是否包含特定的类名。

以下是一个示例代码:

代码语言:txt
复制
// 获取当前元素的下一个同级元素
var nextSibling = document.querySelector(".currentElement + .siblingElement");

// 检查下一个同级元素是否包含特定的类名
if (nextSibling.classList.contains("xxx")) {
  // 如果包含特定的类名xxx,执行这个逻辑
  // TODO: 在这里写下特定类名xxx存在时的逻辑
} else {
  // 否则执行另外一个逻辑
  // TODO: 在这里写下特定类名xxx不存在时的逻辑
}

在上面的代码中,.currentElement表示当前元素的选择器,.siblingElement表示下一个同级元素的选择器,.xxx表示特定的类名。

请注意,这只是一个示例代码,你需要根据实际情况修改选择器和逻辑。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云函数(SCF)。腾讯云云服务器提供了可扩展的计算容量,适用于各种应用场景。腾讯云云函数是一种无服务器的事件驱动计算服务,可以帮助你在云端运行代码而无需管理服务器。

腾讯云云服务器产品介绍链接地址:https://cloud.tencent.com/product/cvm 腾讯云云函数产品介绍链接地址:https://cloud.tencent.com/product/scf

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java 9的模块系统到底怎么用

不管学东西,一定要先搞清楚学了有什么用,是学了马上就能用上还是以后有用。我觉得在时间有限的情况下,一定要学当前立马有用的东西。接下来咱们就一起来看看Java模块到底有啥用。...我觉得模块化最大的意义就是按照功能把代码逻辑分割开来,就像你干前端,我写后端,他做测试,把整体大概念拆成小概念,用的时候自由组合,按需引用。事实上确实有这方面的作用,但是不仅仅就这么多。...然后在cn.felord.module下创建一个module-info.java文件,这个文件被称为模块描述符文件。 在模块描述符文件的同级别创建Java包。...❝定向导包的作用域是模块。 依赖 如果一个模块要访问从其它模块导出的包,则该模块必须使用requires关键字导入要访问的包所在的模块。...使用服务 使用 uses 关键字,我们可以指定我们的模块需要或使用某些服务。这个服务通常是一个接口或抽象类。它不应该是一个实现类。

1.3K10
  • 【源码角度】7分钟带你搞懂ESLint核心原理!

    一个项目一般情况下都是多人协同开发的(除了我自己做的那个门户)【手动狗头】,那就意味着大家的代码风格肯定多多少少都存在一定的差异,如果大家都随心而欲,没有约束的进行编码,后期维护的成本也就越来越大,如果再加上某些同事提桶...打开官网,映入眼帘的便是:Find and fix Problems in your JavaScript Code,光看这个就很nice。...ESLint会去读取配置文件中的extends,如果extends的层级比较深,先做递归处理,然后再返回自己的配置,最终得到的顺序是【extends, 配置】。...parser & plugin parser 和 plugin 是以第三方模块的形式加载进来的,所以如果要自定义,需要先发布在使用,约定包名为eslint-plugin-xxx,配置中可以把xxx的前缀省略...ESLint的解析规则是如果没有指定parser,默认使用expree,否则使用指定的parser,这里需要对AST有足够的了解,大家只需要知道AST对象,就是把你写的代码转换成一个可以可供分析的对象

    1.3K30

    Web前端进阶之路: 提升代码质量篇

    初级前端和高级前端有什么差别?在我看来,初级前端关注点在完成功能,高级前端能在完成功能的基础上,做的又好又快。做的好,就是代码质量高,做的快就是开发效率高。...2 语义化CSS的类名 根据模块的功能来命名,而不是根据样式来命名。如:给红色的提示文字起类名。类名可以叫 tip,不应该叫 color-red。...如果类名是color-red,那以后提示文字要改成绿色,类名也要改,用功能来命名不会出现这种问题。...4 其他 类名用驼峰。类名要优先用BEM命名,再用驼峰。如 info-box--header。 给 js 用到的类名,以 js- 开头。...JavaScript 主流的 JavaScript 代码风格有 JavaScript 标准代码风格(JavaScript Standard Style) 和 Airbnb JavaScript 代码风格

    1.7K20

    Java模板生成word文档POI生成Excel【面试+工作】

    java后台利用模板生成Word文档提供前台下载 ---- 首先要指出的是,实现的思路和freeMarker差不离,将.doc的文档做相应的转换后转为.ftl文档,其中的变量会以${xxx}来代替,这样就可以...如果还是比较传统的话,就像那个链接里的项目一样,把jar包导入项目吧 2.依据模板动态生成word文档,首先你得有个模板 模板是doc类型就好,注意不是docx,docx没有尝试,doc类型已经满足了我的需求...想要实现这个功能,就按照下面的步骤来做吧,为了方便起见,我直接拿项目中遇到的实例来举例说明,是的,我在写这篇博客的时候同时也在完成手上的项目。...step2:前台触发事件 搞一个按钮,用户点击的时候用JavaScript的window.location.href将页面重定向到你处理下载的URL去 比方说,这是我项目的前台,看到那个表面质量按钮吗,...但我这个项目很多次用到导出Excel,所以抽象出一个工具类是很有必要的,符合设计模式。 我的项目是基于SpringMVC的,来看看我后台接收到请求以后做了些什么吧 Controller: ?

    3.9K20

    前端学习笔记之CSS选择器

    :值; } #3、注意点: 1、类名就是专门用来给某个特定的标签设置样式的 2、每个标签都可以设置一个或多个class(空格分隔),class就相当于人/标签的名称,因此同一界面内class可以重复...3、引用class一定要加点. 4、类名的命名规则与id的命名规则相同 有了这个标签,p就不再是紧跟h1标签了,但通用兄弟选择器仍然能选中 我是段落 我是段落 我是段落...,也可以一起出现 2 a标签的伪类选择器如果一起出现,有严格的顺序要求,否则失效 link,visited,hover,active 3 hover是所有其他标签都可以使用的 4 focus只给...三大特性 1、继承性 #1、定义:给某一个元素设置一些属性,该元素的后代也可以使用,这个我们就称之为继承性 #2、注意: 1、只有以color、font-、text-、line-开头的属性才可以继承

    2K30

    一篇带你从小白到入门的vue教程

    这样就形成了一个基本的父子通信模式。 在开发中组件和 HTML、JavaScript 等有非常紧密的关系时,可以根据实际的需要自定义组件,使开发变得更加便利,可大量减少代码编写量。...) 如何使用vue封装组件(造轮子) 新建一个组件的步骤: 1、新建一个 xxx.vue 2、在 xxx.vue 中 包含三部分 tempalte script css 注意 的是template...另外vue中在使用相同标签名元素的过渡切换时,也会使用到key属性,其目的也是为了让vue可以区分它们,否则vue只会替换其内部属性而不会触发过渡效果。...}, } 1、普通的属性的怎么监听: 直接监听 2、有初始值该怎么监听:immediate: true 3、深度监听怎么做:deep:true watch:{ a(val...mutations actions 都是全局的直接使用就是 只有局部的是要加模块名 vant、elementUI、ECharts 这里不多介绍了,我们都知道vue呢他是一个渐进式的框架,轻量级,可以在项目中可以使用其他的框架或者类库

    8.2K21

    Javascript -- 链表

    知识点 链表中的节点包含两部分:存储数据元素的数据域,指向下一个节点的指针域 插入删除时,复杂度为O(1) 查找节点时,复杂度为O(n) 链表的数据结构 本文介绍了用Javascript实现一个简单的链表...null,是这样子的,从节点的实现我们看到了,节点默认指向的下一个节点是null,所以你这样做就不符合期望。...insert(pos, ele) 向链表特定位置插入一个新的项 还是分类讨论,我们先定义,如果插入成功的话,返回true,如果插入失败的话,给它返回false。...如果不是头节点的情况,我们就需要增加一个标志位去记录当前的位置,如果当前位置等于插入位置,那么插入节点的下一个节点指向当前节点,然后先前节点的下一个节点指向当前节点。 ?...indexOf(ele) 返回元素在链表中的索引,如果链表中没有该元素则返回-1 这里的话就是从头节点开始去与你所要查找的节点匹配,匹配上的话,返回你记录的标志位,否则返回-1. ?

    39010

    程序员初学机器学习的四种方式

    你可以利用这个机会更深入地学习一个提供这些方法的类库或工具,掌握了提供这些技术的类库能帮助你掌握相应的技术。 一些你可以采取的策略有: 比较一些可选的工具。 总结你选定的那个工具的能力。...这样你能专心解答关于这个数据集你要研究的问题,而不是分心去学习某个特定的技术或者如何写代码来实现它。 一些可以帮助你学习实验性的机器学习数据集的策略有: 清晰地描述这个数据集所呈现的问题。...选一个已经被人充分理解了的,有许多可选的开源实现,并且需要你探索的参数数目较少的算法。你的目的是建立有关这个算法在不同问题和不同参数设定下表现如何的直觉。 使用一个机器学习平台或者类库。...想多学一点的话,你可以探索所谓的启发式规则或经验法则来使用算法,并且以实验为依据来展示它们好不好用,及如果好用的话在什么条件下他们与成功的结果有关联。...举个例子,与其解决广义的“写一个能告诉我微博是否会被转发的程序”,还不如去研究这个问题在一个特定的账号在一个特定的时间段内的表现。 所需资源少:一个项目应该能用你的可联网的台式或者笔记本电脑完成。

    87970

    20180708_ARTS_week02

    我这里有个比较不好的地方是同一种判断条件用了两次,暂时还没想到合并的方法,能去掉就更好了。 程序中的状态是你程序变得复杂难维护的直接原因。...console.assert 可以一定程度上充当断言的功能,如果错了会在控制台打印信息和堆栈,这个还是挺有用,有时候系统报错的时候打出的错误堆栈内容非常多,常常不知道是哪一步出错了,特别是用了一些框架类库...上面那个场景,正确的做法是使用 Promise.all 加载完之后返回,因为我们预期的就是在全部加载完之后才执行回调。...我做 ARTS 的节奏是周一到周四每天做一个字母,周五一般是 buffer,周末主要是把几个东西整理一下,看是否有补充的。 这样每天压力不会太大,又能保证一定的紧张感,暂时也能坚持下去。...ARTS 整体来说,我最喜欢的是 A 和 R。 毕业几年之后做的又是前端方面的工作,基本和算法不怎么沾边,这两周完成了算法题,又感受到了编程之美,挺开心的。

    40010

    程序猿:这四种方式开启机器学习之路

    学习机器学习有很多方法,大多数人选择从理论开始。 如果你是个程序员,那么你已经掌握了把问题拆分成相应组成部分及设计小项目原型的能力,这些能力能帮助你学习新的技术、类库和方法。...你可以利用这个机会更深入地学习一个提供这些方法的类库或工具,掌握了提供这些技术的类库能帮助你掌握相应的技术。 一些你可以采取的策略有: 比较一些可选的工具。 总结你选定的那个工具的能力。...这样你能专心解答关于这个数据集你要研究的问题,而不是分心去学习某个特定的技术或者如何写代码来实现它。 一些可以帮助你学习实验性的机器学习数据集的策略有: 清晰地描述这个数据集所呈现的问题。...选一个已经被人充分理解了的,有许多可选的开源实现,并且需要你探索的参数数目较少的算法。你的目的是建立有关这个算法在不同问题和不同参数设定下表现如何的直觉。 使用一个机器学习平台或者类库。...举个例子,与其解决广义的“写一个能告诉我微博是否会被转发的程序”,还不如去研究这个问题在一个特定的账号在一个特定的时间段内的表现。 所需资源少:一个项目应该能用你的可联网的台式或者笔记本电脑完成。

    50770

    关于反爬虫,看这一篇就够了

    如果是的话,是否可以起诉要求赔偿?这样可以赚钱。 这个问题我特意咨询了法务,最后发现这在国内还是个擦边球,就是有可能可以起诉成功,也可能完全无效。所以还是需要用技术手段来做最后的保障。...4、成型的商业对手 这个是最大的对手,他们有技术,有钱,要什么有什么,如果和你死磕,你就只能硬着头皮和他死磕。...更讽刺的是,通常搜到的python爬虫代码都会使用一个lynx的user-agent。你们应该怎么处理这个user-agent, 就不用我来说了吧?...因为,如果对方没有反爬虫,你完全可以直接抓ajax本身, 而无需关心js怎么处理的。如果对方有反爬虫,那么javascript必然十分复杂,重点在于分析, 而不仅仅是简单的模拟。...因为上面提到的方法, 效果均一般, 所以还是用JavaScript比较靠谱。 也许有人会说:javascript做的话,不是可以跳掉前端逻辑,直接拉服务吗?怎么会靠谱呢?因为啊,我是一个标题党啊。

    62920

    Java开发编程规范: 1.命名风格

    ,老师不止一次告诉我,让我去学习编程规范,我觉得也是时候学习一波了,不知道各位读者有没有这种体验啊,比如一个QQ群,有萌新问你这个代码有什么问题,很多人想去帮忙,却不知道写的什么,才会一点一点问,这个方法是干什么的...,那个变量是干啥,确实作为萌新的我们都将我们自己定义为中心,我们没有为别人考虑,当我们自己写代码的时候,我们当时是知道这个变量是干什么的,哪怕是一个a,一个b,因为那是你写的,你不可能那么快忘记,但是换另一个人来读你的代码...【强制】POJO 类中布尔类型的变量,都不要加 is 前缀,否则部分框架解析会引起序列化错误。...【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。...5) 删除的方法用 remove/delete 做前缀。 6) 修改的方法用 update 做前缀。    B) 领域模型命名规约 1) 数据对象:xxxDO,xxx 即为数据表名。

    81631

    那些相见恨晚的 JavaScript 技巧

    还可以使用 JavaScript 内置的 split() 和 join() 函数处理 HTML 对象的 CSS 类名,如果 HTML 对象的类名是空格隔开的多个名字,你在为它追加或删除一个 CSS 类名的时候需要特别注意...,如果该对象还没有类名属性,可以直接将新的类名赋予它,如果已经存在类名,新增的类名前必须有一个空格,用传统的 JavaScript 方法是这样实现的: 使用 split 和 join 方法则直观优雅得多...,任何变量,函数或是对象,除非是在某个函数内部定义,否则,就是全局的,意味着同一网页的别的代码可以访问并改写这个变量(ECMA 的 JavaScript 5 已经改变了这一状况 - 译者),使用匿名函数...这里有一篇 JavaScript 配置对象详解的文章,简单说: · 在代码中创建一个叫做 configuration 的对象 · 里面保存所有可以更改的配置,如 CSS ID 和类名,按钮的标签文字,描述性文字...,本地化语言设置 · 将该对象设置为全局对象,以便别人直接访问并改写 你应当在最后一步做这项工作,这里有一个文章,交付代码前的5件事值的参考。

    31810

    使用jquery-easyui写的CRUD插件(1)

    写插件先看看jqeury的插件如何写,先了解一下如何写插件的代码。 jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。...关于类级别的插件开发可以采用如下几种形式进行扩展: 通过这个技巧(使用独立的插件名),我们可以避免命名空间内函数的冲突。...出于认识到和利用函数是javascript中最基本的类对象,我们可以这样做。就像其他对象一样,函数可以被指定为属性。...一个通理是,如果你不能肯定是否暴露特定的函数,那么你也许不需要那样做。 那么我们怎么定义更多的函数而不搅乱命名空间也不暴露实现呢?这就是闭包的功能。...个人来说,我喜欢这个Metadata插件,因为它让你使用不多的"markup”覆盖插件的选项(这非常有用当创建例子时)。而且支持它非常简单。更新:注释中有一点优化建议。

    97490

    Gradle基础|自定义插件并上传到JitPack

    这些插件一般还要在model中再依赖其他组件,如果我只用代码组件,而不启用这些插件,那还能正常使用吗?...这个目录比较特殊,对于每一个工程而言,有且只能有一个 buildSrc 目录,并且必须位于项目的根目录,如果存在 buildSrc 这个目录,那么 Gradle 在运行时会自动编译并测试这里面的代码,并将其放入构建脚本的类路径中...//本地依赖插件时使用 gradlePlugin { plugins { //插件名,每一个插件都可以有 buildSrcTestPlugin {...我们先改一下 stand-gradle-plugin 的 插件id ,及相应的 插件实现类类名 ,如下所示: 然后直接去app-model中进行引入,此时会发生什么问题呢?...apply plugin: 'maven-publish' // 组名,可以理解为插件在那个分组下放着,最终是一个文件夹 // com/petterp/gradle/plugins/xxx group

    1.1K10

    【保姆级教程】SpringBoot单元测试,文末介绍Postman的基本使用

    二、单元测试的作用 在没有接触单元测试之前我们是怎么做测试的?一般有两个方法: ? 在时间允许的情况下,编写单元测试是程序员对代码的自测,这是对自己代码的负责。...第三步:至此Service层的测试类就创建好了,测试类自动生成到了src/test/java目录下项目的同级目录中,如下图: ?...使用断言是判断一个函数或对象的一个方法所产生的结果是否符合你期望的那个结果。...:使用 Hamcrest 匹配符来表达的对前面变量所期望的值的声明,如果 value 值与 matcher statement 所表达的期望值相符,则测试成功,否则测试失败。...详细的使用方法,在这里帮大家找到了一篇保姆级Postman使用教程: https://www.cnblogs.com/okong/p/springboot-fifteen.html PS:如果觉得我的分享不错

    2.1K10

    一个后端程序员的前端之路

    在我还在上大学的时候用 servlet 写 java web 的程序,那个时候想要在网页判断用户的输入提交,发现需要一种叫 JavaScript 的语言,一开始照着 w3c 直接用原生 JavaScript...当然,那个时候的我对 CSS 也是一窍不通,也才刚刚听过 jQuery。...这个分歧其实就是 Facebook 出品的 graphql 要解决的,而在当时我和前端都是无解的。 有了这个分歧,我开始关注前端是如何构建和使用后端的数据,换位思考站在前端的角度去想问题。...空想误国,实干兴邦,由于缺乏实践,我的换位思考流于了形势,毫无进展。 突然有一天,我还在努力让自己顿悟,前端却离职了,更要命的是原来所有我负责对接的前端业务将有我接管。 真心不懂,只能学了。...首选了 JavaScript 语言精粹 一书,为了速成只看其中函数和继承的部分,基本对类模式继承和原型继承有了清晰认识,重构就这样开始了。

    1.1K50

    携程:关于反爬虫,看这一篇就够了

    如果是的话,是否可以起诉要求赔偿?这样可以赚钱。 这个问题我特意咨询了法务,最后发现这在国内还是个擦边球,就是有可能可以起诉成功,也可能完全无效。所以还是需要用技术手段来做最后的保障。...4、成型的商业对手 这个是最大的对手,他们有技术,有钱,要什么有什么,如果和你死磕,你就只能硬着头皮和他死磕。...更讽刺的是,通常搜到的python爬虫代码都会使用一个lynx的user-agent。你们应该怎么处理这个user-agent,就不用我来说了吧?...3、后台对访问进行统计,如果单个userAgent访问超过阈值,予以封锁。 这个是大招,类似于抗生素之类的,效果出奇的好,但是杀伤力过大,误伤非常严重,使用的时候要非常小心。...因为上面提到的方法,效果均一般,所以还是用JavaScript比较靠谱。 也许有人会说:javascript做的话,不是可以跳掉前端逻辑,直接拉服务吗?怎么会靠谱呢?因为啊,我是一个标题党啊。

    4.7K101
    领券