V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
maloneleo88
V2EX  ›  JavaScript

请问,这种情况如何再去找到相邻 DOM 节点?

  •  
  •   maloneleo88 · 2021-05-03 20:46:17 +08:00 · 1986 次点击
    这是一个创建于 1329 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <tr><td>按钮</td><td>这里面有想要的值</td>...
    <tr><td>按钮</td><td>这里面有想要的值</td>...
    <tr><td>按钮</td><td>这里面有想要的值</td>...
    <tr><td>按钮</td><td>这里面有想要的值</td>...
    ....

    我用 jQuery 找到节点,for 循环建里一排按钮在 td1,然后绑定一个 处理函数

    现在想没点击一个按钮,获得这个按钮兄弟 td 里面的某些内容。内容我也能提取。 关键在这个 “处理函数”中我怎样才能获得某按钮的兄弟 td 呀? 用什么方式? 看了看 this 方法 没弄明白 求助!!!
    第 1 条附言  ·  2021-05-03 22:06:49 +08:00
    代码如下:

    var g = $(".th-bg:first").siblings();
    for (var i = 0; i < g.length; i++){
    g.eq(i).children("td:first").append('<button onclick="analysis()">BTTS</button>');
    //var homeId = g.eq(i).children("td:eq(2)").children("a:eq(0)").attr('href').slice(17,-5);
    //var awayId = g.eq(i).children("td:eq(4)").children("a:eq(0)").attr('href').slice(17,-5);
    }

    function analysis(){
    console.log($(this))
    }

    我知道怎么去选择兄弟父子元素, 我就是想知道通过什么方法 可以在 analysis 函数中获取当前这个按钮的元素节点,然后我在从这个元素节点去获取其他节点里需要的参数。

    我用$(this) 不可以, 或者是我用错了?
    12 条回复    2021-05-04 02:10:03 +08:00
    maloneleo88
        1
    maloneleo88  
    OP
       2021-05-03 20:57:55 +08:00 via Android
    用 jQuery 的 $this 方法 能获得当前元素的兄弟节点吗?应该怎么用呢
    autoxbc
        2
    autoxbc  
       2021-05-03 21:15:40 +08:00
    laoyur
        3
    laoyur  
       2021-05-03 21:22:50 +08:00 via Android
    xpath 不考虑吗,following-sibling::td/text()秒拿
    maloneleo88
        4
    maloneleo88  
    OP
       2021-05-03 21:25:20 +08:00 via Android
    @laoyur
    @autoxbc
    都考虑呀,我不会啊 看不懂, 我以为用$(this)可以 咋返回的好像是当前窗口对象😧
    maloneleo88
        5
    maloneleo88  
    OP
       2021-05-03 21:28:27 +08:00 via Android
    @autoxbc 例子举简单了, 我想点击任意按钮 在'处理函数'中访问当前元素的父元素的父元素的后 2 个兄弟元素里的内容 和 后 4 个元素里某子元素的属性
    Rache1
        6
    Rache1  
       2021-05-03 21:46:34 +08:00
    siblings 或者 next
    xutao881
        7
    xutao881  
       2021-05-03 21:54:10 +08:00
    maloneleo88
        8
    maloneleo88  
    OP
       2021-05-03 22:07:27 +08:00
    @xutao881 怎样才能获取当年点击的这个按钮的 元素节点呢?
    7gugu
        9
    7gugu  
       2021-05-03 22:12:39 +08:00
    考虑一下事件捕获?
    maloneleo88
        10
    maloneleo88  
    OP
       2021-05-03 22:23:09 +08:00 via Android
    靠 我会了 在循环传入 this analysis(this) 这样在处理函数 就能得到这个节点了应该 我去试试
    wanv1171
        11
    wanv1171  
       2021-05-04 00:58:26 +08:00
    function analysis(e){
    console.log($(e.target))
    }
    maloneleo88
        12
    maloneleo88  
    OP
       2021-05-04 02:10:03 +08:00 via Android
    @wanv1171 是啊 自己搞定了,试出来了🤒
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5643 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 01:42 · PVG 09:42 · LAX 17:42 · JFK 20:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.