是否有一个 jQuery 选择器/方法来查找 n 级的特定父元素?

2024-04-20

考虑以下 HTML。如果我有对

<table id="my-table">
    <tr>
        <td>
            <button>Foo</button>
        </td>
        <td>
            <div>
                <button>Bar</button>
            </div>
        </td>
    </tr>
</table>

<script type="text/js">
    $('#table button').click(function(){
        //$(this).parent().parent() will work for the first row
        //$(this).parent().parent().parent() will work for the second row
        //is there a selector or some magic json one liner that will climb
        //the DOM tree until it hits a TR, or do I have to code this myself
        //each time?            
        //$(this).????
    });
</script>

我知道我可以对每个条件进行特殊处理,但我更感兴趣的是“无论你碰巧有多深,爬上树直到找到元素 X”式的解决方案。像这样,但更像 jQuery/不那么冗长

var climb = function(node, str_rule){
    if($(node).is(str_rule)){
        return node;
    }
    else if($(node).is('body')){
        return false;
    }
    else{
        return climb(node.parentNode, str_rule);
    }
};  

我知道parent(expr)方法,但从我所看到的来看,它允许你向上过滤父级,并且在找到expr之前不要爬树(我希望代码示例证明我错了)


The parents https://api.jquery.com/parents/函数做你想要的:

$(this).parents("tr:first");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有一个 jQuery 选择器/方法来查找 n 级的特定父元素? 的相关文章

  • Node.js npm mssql 函数返回未定义

    我使用 mssql 和 node js 连接到 sql server 数据库 我试图通过将连接代码包装在具有一个查询参数的函数中来减少代码 当我从 router get 函数中的 with 调用该函数时 它返回未定义 任何帮助将非常感激 f
  • 如何在Keystone.js List Map中指定多个字段?

    想知道如何在 Keystone js List Map 中指定多个字段 例如 基于 Keystone 数据模型文档 http keystonejs com docs database http keystonejs com docs dat
  • 同位素 Jquery 插件布局问题

    我正在尝试在此站点上设置同位素 它需要处理布局 并且我需要能够将项目附加到容器中 问题是它似乎没有正确初始化图像 这是我初始化它的方法 document ready function var container container cont
  • 如何在此彩票功能中显示所有猜中的号码?

    我用 JS 创建了一些简单的彩票功能 一切正常 我面临的唯一问题是如何显示所有已猜到的数字 我有 6 个独立的空间 其中必须提供数字 我的目标是显示随机空间中的滚动数字 它必须仅在 6 个空间之一中提供 这对我有用 但只显示 1 个数字 我
  • 音频端播放新文件

    我有一个webapp https radio repjesus com当您使用 ajax jquery 单击链接时加载并播放音轨 一切正常 但当曲目结束时 曲目将设置为循环 并且这种情况可以永远持续下去 我希望播放器从数据库中自动加载随机曲
  • 如何通过ajax点击时从javascript文件执行节点(控制台)命令

    我是 Node js 新手 这是我的问题 例如 我得到了 Web 应用程序 并且从该应用程序中我有一个按钮 单击按钮后我想运行节点控制台命令 例如 node socket io So button on click function run
  • 在 Angular 中将图像 url 转换为 base64

    我正在努力尝试将给定的图像 url 转换为 base64 在我的例子中 我有一个带有图像路径的字符串 var imgUrl assets logoEmpresas empresa logoUrl 我如何直接将给定的图像网址转换为base64
  • MagicSuggest动态ajax源码

    我在用着魔法建议 https github com nicolasbize magicsuggest对于自动完成输入文本 自动完成提要非常大 因此我无法完整下载它 在他们的示例中 他们提供了以下代码 脚本语言 document ready
  • Javascript 闭包问题

    所以 我仍在阅读 Apress Pro Javascript 技术 但我在闭包方面遇到了麻烦 正如约翰 雷西格所说 闭包允许您引用父函数中存在的变量 然而 它在创建变量时并不提供变量的值 它提供父函数中变量的最后一个值 这是最常见的问题 您
  • RxJS 将三元组中的属性组合到表中

    我有一项服务生成类似于三元组的对象 它们将采用以下格式 country attribute value Example country usa attribute population value 100 country mexico at
  • JS 检查深层对象属性是否存在[重复]

    这个问题在这里已经有答案了 我正在尝试找到一种优雅的方法来检查对象中是否存在某些深层属性 因此 实际上试图避免对未定义的情况进行巨大的保护性检查 例如 if typeof error undefined typeof error respo
  • jquery 工具提示在我的页面中添加 div role="log"

    我对 jquery tooltip 有一个奇怪的问题 我正在使用下面的代码
  • HTML5:从存储的二进制字符串播放视频

    我正在尝试使用 FileReader readAsBinaryString Blob File 将视频文件的内容作为二进制字符串读取 如示例中所示http www html5rocks com en tutorials file dndfi
  • QDomDocument 无法设置带有 标记的 HTML 文档的内容

    当我使用QDomDocument对于 HTML 内容 如果存在则无法设置内容在文档的开头 但实际上为什么 例如 考虑以下代码片段 QDomDocument doc QString content a href bar foo a qDebu
  • 添加 X 轴标题会导致 Uncaught RangeError:minimumFractionDigits value is out of range in Chart.js

    我正在尝试向 Chart js 图表的 X 轴添加标题 但是当我将标题属性放在 x 轴上时 出现错误 Uncaught RangeError minimumFractionDigits value is out of range 但它并没有
  • 在画布中的鼠标位置放大/缩小

    我正在尝试使用 p5 js 实现缩放功能 当前缩放级别以及 x 和 y 位置存储在controls view目的 默认位置或 0 0 位置位于左上角 问题是调整放大 缩小时的 x 和 y 位置值 以便无论视图的当前位置是什么 它都会停留在缩
  • 监听鼠标事件……除了 div 的溢出:滚动滚动条?

    关于如何监听 mousedown 的任何建议 document exceptdiv 的溢出 滚动滚动条 我不确定滚动条是什么元素is为了参考它 您可以使用以下命令自行检查目标 document on mousedown function e
  • 在客户端将大文件(> 2GB)压缩为 ZIP

    我使用构建上传工具node js and socket io 因为他们通常会上传令人难以置信的巨大文件 而普通的上传表单将无法工作 问题是他们想在发送之前将文件压缩成zip 以提高传输效率 我一直在研究压缩方法 例如JSZip http s
  • 推荐的增长缓冲区的方法?

    假设我正在 Node js 中构造一个可变长度的字符串或一系列字节 buf write 的文档说 https nodejs org api buffer html buffer buf write string offset length
  • JavaScript 有内置的 stringbuilder 类吗?

    I see a few 代码项目解决方案 http www codeproject com KB scripting stringbuilder aspx 但是JavaScript中有常规的实现吗 如果您必须为 Internet Explo

随机推荐

  • 编辑时更改 NSTextField 边框和 BG 颜色

    我有一个NSTextField显示时不使用边框和窗口背景颜色 但我希望在编辑时将其更改为具有默认边框和白色 BG 颜色 我知道我可以通过以下方式更改这些属性 nameTextField bezeled true nameTextField
  • 加速 solr 索引

    Solr 索引花费的时间太长 我使用的mysql有超过3000万条记录 我正在使用两级子查询 请向我建议索引数据的最佳实践 以便我可以加快该过程 查看Solr性能因素 http wiki apache org solr SolrPerfor
  • java中的验证码[重复]

    这个问题在这里已经有答案了 我想尝试用 Java 开发一个安全登录系统 我应该如何使用 Java 实现 CAPTCHA 我在 Java 中使用的三个验证码库是 JCaptcha 这是三者中最可配置的 并且有很好的文档记录 但无论如何 我们似
  • 使用 HTTPS 链接与 php 方法(file_get_contents、getimagesize)

    当我尝试读取网站中的某些 HTTPS 网址时遇到问题 如果我使用 http 则没有问题 使用file get contents和curl 但是当我用 https 替换 http 时 这些方法不起作用 我收到一些错误 failed to op
  • 调整 R Markdown PDF 文档中文本和块输出之间的间距

    我无法理解如何控制 R Markdown PDF 文档中文本和块输出之间的间距 下面是一个文档的示例 output pdf document setlength lineskip 0pt begin center Random Text e
  • UICollectionView - 在单元格之间画一条线

    如何在 UICollectionView 中的单元格之间绘制一条跨越空间的线 预期的输出是这样的 我所做的最好的事情就是在每个单元格内添加行 如何连接穿过空间的线 我做了一个扩展 你可以像这样使用 collectionView drawLi
  • 使用 Jackson 序列化类型化集合时出错

    我正在尝试使用混合序列化集合 但杰克逊不会保存类型信息 这是一个基本测试 说明会发生什么 public class CollectionSerializationTest interface Common extends Serializa
  • GitHub Actions 使用从 shell 设置的变量

    Goal 在 GitHub Actions 中 从 shell 动态定义我的提交消息 name Commit changes uses EndBug add and commit v7 with message added on date
  • Golang:带有 -> 字符的命令行参数

    我需要接受命令行参数来运行以下格式的 Go 程序 go run app go 1 gt A 我在用os Args 1 但它只接受到 1 gt A 被跳过 非常感谢任何解决此问题的帮助 Thanks 你的 shell 正在解释 gt as I
  • 如何获取时间。立即勾选

    我有一个迭代循环 直到作业启动并运行 ticker time NewTicker time Second 2 defer ticker Stop started time Now for now range ticker C job err
  • 什么更快?循环或多个 if 条件

    我想知道什么更快 是只用一条指令 即 1 1 执行 9 次 for 循环还是执行 9 个 if 条件时 我认为 if 更快 因为您不需要检查循环中的指令 它应该几乎相同 因为for循环本质上是检查if条件为真并运行一段代码 非常类似于if声
  • iOS:如何检测摇动动作?

    我将以下代码添加到我的 appDelegate m void motionBegan UIEventSubtype motion withEvent UIEvent event void motionEnded UIEventSubtype
  • 条件表达式的 raise 语句

    我如何优雅地实现 武士原则 http c2 com cgi wiki SamuraiPrinciple 胜利归来 或者根本不归来 关于我的职能 return
  • Java中一个字符是1字节还是2字节?

    我认为 java 中的字符是 16 位 如建议的那样java doc http download oracle com javase tutorial java nutsandbolts datatypes html 字符串不也是这样吗 我
  • Highcharts Marimekko 图表刷新

    下面的脚本构建了一个基本的 Marimekko 图表 其中 x 值是累积的 作为一种令人兴奋的绘制数据的方式 这是非常棒的 http jsfiddle net Guill84 1o926coh http jsfiddle net Guill
  • 带指针的数组长度

    C 中如何仅使用指针获取数组长度 我知道选项卡名称是指向第一个元素的指针 但下一步是什么 你不能做到 您需要将数组长度与数组指针一起传递 或者需要使用容器对象 例如std vector
  • System.getenv 没有获取 ~/.bash_profile 中定义的变量

    这是文件 bash profile 中的一行 export MESSAGE Hello World 我想访问系统变量MESSAGE在Java中 System getenv MESSAGE 不起作用 bash profile 文件仅源自登录
  • ASP.NET Identity,持久性 cookie - 是内置的类似的东西吗?

    我们正在使用Cookie身份验证提供者并希望实施 记住账号 我们的应用程序中的功能将像这样工作 无论是否 记住账号 复选框是否被选中 令牌过期时间应始终设置为 30 分钟 SlidingExpiration 打开 如果用户没有选中 记住我
  • Spring Security 页面无法在 Chrome 上的 Iframe 中打开

    我正在使用 Spring Boot Spring Security 和 jdk 1 8 当我尝试在 Chrome 上的 iframe 中打开任何安全的 Thymleaf 页面时 它每次都会将我重定向到登录页面 它在 Firefox 和 IE
  • 是否有一个 jQuery 选择器/方法来查找 n 级的特定父元素?

    考虑以下 HTML 如果我有对 元素的 JSON 引用 那么在这两种情况下如何获取对外部 元素的引用 table tr td td tr table