0
$(function(){
  $('.swaction').click(function(event){
    var num = $(this).parent().parent().children().first().children.first().val();
    alert(num);
    event.preventDefault();
  });
})

<table class="table-a" id="unrecognizedPDF">
  <thead>
    <tr>
      <th>Nombre de archivo</th>
      <th>Fecha de creación</th>
      <th>Acciones</th>
     </tr>
   </thead>
<tbody>
  <tr>
   <td>12313242122333</td>
   <td>07/06/2013 10:52:52</td>
   <td><a href="#" data-action="ver" class="swaction">Ver</a> |
       <a href="#" data-action="renombrar" class="swaction">Renombrar</a> |
       <a href="#" data-action="ver" class="swaction">Eliminar</a>
   </td>
  </tr>
 </tbody>
 </table>

我想得到这个号码:12313242122333

我试过这个:var num =

$(this).parent().parent().children().first().children.first().val();

但 Firebug 说它不是一个函数。关于出了什么问题的任何线索?这是我第一次尝试遍历树。

谢谢!

错误:

TypeError: $(...).parent(...).parent(...).children(...).first(...).children.first is not a function
http://192.168.100.196/printbox/js/js_procesar_escaneos.js
Line 3
4

4 回答 4

2

改为使用var num = $(this).closest('tr').find('td:first').html();

jsFiddle 示例

.val()用于输入元素,您想要获取您要使用的 HTML .html()

于 2013-06-12T13:57:16.373 回答
1

You can't use .val() on td element, it's for form element. try .text()

$(this).parent().parent().children().first().text();
于 2013-06-12T13:56:04.790 回答
1
$(this).closest('tr').find('td:first').html();

尝试这个。

使用html代替val

于 2013-06-12T14:01:18.627 回答
1
children.first()

您正在尝试调用functionfirst()的方法。children

您需要使用括号调用该函数。children

于 2013-06-12T13:58:45.127 回答