Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 查找<;tr>;使用其选择器文本,然后获取其标题_Jquery_Tags - Fatal编程技术网

Jquery 查找<;tr>;使用其选择器文本,然后获取其标题

Jquery 查找<;tr>;使用其选择器文本,然后获取其标题,jquery,tags,Jquery,Tags,我只是不太明白这个的语法。最后,我试图获得工具提示,以显示表的子组tr标题文本,无论哪个单元格悬停在该子组中 <table> <tbody> <tr data-cb-name="group1" title="A_Heading"> <td>A_Intro</td> </tr> <tr> <td></td> <

我只是不太明白这个的语法。最后,我试图获得工具提示,以显示表的子组tr标题文本,无论哪个单元格悬停在该子组中

<table>
<tbody>
  <tr data-cb-name="group1" title="A_Heading">
    <td>A_Intro</td>
  </tr>

  <tr>
    <td></td>
    <td>admin1</td>
    <td>manage1</td>
  </tr>

  <tr>
    <td></td>
    <td>admin2</td>
    <td>manage2</td>
  </tr>

  <tr data-cb-name="group1" title="B_Heading">
    <td>B_Intro</td>
  </tr>

  <tr>
    <td></td>
    <td>admin3</td>
    <td>manage3</td>
  </tr>

  <tr>
    <td></td>
    <td>admin4</td>
    <td>manage4</td>
  </tr>
</tbody>
</table>
目标是,无论何时将鼠标悬停在“admin1”、“admin2”、“manage1”或“manage2”上,我都希望工具提示显示“A_标题”。当鼠标悬停在“admin3”、“admin4”、“manage3”或“manage4”上时,我希望工具提示显示“B_标题”。为此,我需要在表中向上移动,以找到最近的tr,该tr包含:

data-cb-name="group1"
。。。因为这对于所有子组标题都是通用的。但是,标题文本是动态的,这就是我要指定给工具提示的内容。该行:

Col2_3 = $(this).closest("[data-cb-name ='group1']").attr("title", "title").text();
。。。电话线给了我所有的麻烦。我尝试了所有我能想到的最接近、查找、属性和文本的组合,但在控制台中我无法得到“Col2_3”的结果。 谁能让我摆脱痛苦

  • 不适用于您的案例,您希望前一个兄弟姐妹具有数据属性:
    数据cb name
    。closest
    将通过祖先(父代和上级)而不是兄弟姐妹查找。请参阅
    .closest()
    -()

  • 您正在将属性
    title
    设置为单词“title”,而
    。text()
    不是必需的

  • 使用
    .prevAll
    更改为以下内容,以获取与数据属性最接近的tr同级并获取其属性标题:

    $(函数(){
    var Col1=“”;
    var Col2_3=“”;
    $。每个($('tr'),函数(){
    if($(this.attr(“数据cb名称”)){
    Col1=$(this.attr('title'))
    log('Col1=',Col1);
    }否则{
    Col2_3=$(this.prevAll(“[data cb name='group1']”)attr(“title”);
    log('Col2_3=',Col2_3');
    }
    });
    });
    
    
    介绍
    管理员1
    经理1
    管理员2
    经理2
    B_简介
    管理员3
    经理3
    管理员4
    管理4
    
    是的,我试过了。似乎合乎逻辑,但我只是得到'未定义'在铬控制台。请看下面的答案。哇,谢谢你。是的,我肯定错了。非常感谢您的帮助。@Silverburch很乐意帮忙。祝你过得愉快!:)
    Col2_3 = $(this).closest("[data-cb-name ='group1']").attr("title", "title").text();