javascript - 使用jquery从表的最后一个tr获取属性

标签 javascript jquery html


在这个 jquery 脚本中有点卡住了。我想在检查时获取 tr 中最后一个 tdlink 属性复选框。 这是 HTML

      <tr>
          <td><input type="checkbox" name="check" value="happy"></td>
          <td style="width: 310px; line-height: 14px;" class="fileName <?php echo $myClass; ?>" ><div style="width: 310px; overflow: hidden;"><a href="https://abcd.com/<?php echo $info."/".$myinfo['name'];?>" title="<?php echo $myinfo['name'];?>" target="_blank"><?php echo $fileName.'.'.$fileExtension; ?></a></div></td>
           <td style="width: 150px;"><?php echo $fileSize; ?> KB</td>
           <td style="width: 150px;"><?php echo $fileModified; ?></td>
           <td style="width: 150px;">
               <a href="javascript:void(0);" ><span id="" link="https://abcd.com/<?php echo $info."/".$myinfo['name'];?>" title="<?php echo $myinfo['name'];?>" class="shareIcon"></span></a>
               <a href="javascript:void(0);"><span id="deleteIcon" link="<?php echo $myBucket['name'];?>" class="deleteIcon"></span></a>
           </td>
         </tr>

当有多个复选框时,我想获取最后一个 td 中的每个链接属性。
我尝试的是这个

   $("input[name='check']").on('change',function() {
   var checked = $("input[name='check']:checked");
   // console.log(checked);
   $.each(checked,function(){ 
   //console.log(checked.length); 
   if(checked.length>1){
          //  console.log('more than 1');             
          //console.log(checked.parents('td').siblings('.shareIcon'));
          checked.parents('td').siblings('.shareIcon'),function(){
          console.log($(this).attr('link'));

          }      
      } 
   })
 });

最佳答案

尝试这个脚本:

 $("input[name='check']").on('change', function () {
     var checked = $("input[name='check']:checked");
     $.each(checked, function () {
         if (checked.length >= 1) {
             $.each(checked.parent().siblings().last().children().children(), function() {
                 console.log($(this).data("link"));
             });
         }
     })
 });

这个 HTML:

<table>
    <tr>
        <td>
            <input type="checkbox" name="check" value="happy">
        </td>
        <td style="width: 310px; line-height: 14px;" class="fileName <?php echo $myClass; ?>">
            <div style="width: 310px; overflow: hidden;"><a href="https://abcd.com/areeb" title="areeb" target="_blank">some_file.php</a>

            </div>
        </td>
        <td style="width: 150px;">212KB</td>
        <td style="width: 150px;">some_file.php</td>
        <td style="width: 150px;"> <a href="javascript:void(0);"><span id="" data-link="https://abcd.com/areeb" title="<?php echo $myinfo['name'];?>" class="shareIcon"></span></a>
 <a href="javascript:void(0);"><span id="deleteIcon" data-link="<?php echo $myBucket['name'];?>" class="deleteIcon"></span></a>

        </td>
    </tr>
</table>

Fiddle

<小时/>

代码说明:

<小时/>

JavaScript 代码:

我刚刚稍微改变了 if 条件,以便它也可以匹配一个元素。然后$.each()函数也做了一点改动。我首先定位复选框的父级 td,然后获取它的所有同级,然后选择最后一个同级,然后弹出它的子级,即 a 或 anchor 标记,然后我弹出这些 a 的子级,即 span ,然后对于每个范围,我记录它的 data-link 属性。

HTML 代码:

我刚刚将 link 属性的名称更改为 data-link 属性,以便通过 data 函数更轻松地访问。

关于javascript - 使用jquery从表的最后一个tr获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20717238/

相关文章:

JavaScript 闭包 - 尝试理解以下代码

Javascript 模块模式事件和监听器

javascript - 具有嵌套属性的 HTML SetAttribute

javascript - 在页面重新加载时保留表单数据

php - 如何将 PHP 变量名传递给 Javascript 函数

javascript - ExpressJS GET 和 POST 在同一路由上

javascript - Business Catalyst 中的 jQuery 日期格式

jQuery:样式属性在 IE 中不起作用

javascript - 我应该如何在 HTML 中显示数字以便以后在 javascript 中计算

html - 邮寄到 : link equivalent for phone calls?