如何获取表的精确id值

时间:2012-08-27 12:21:09

标签: javascript jquery

我正在尝试解决这个问题,但还没有得到结果。我试图获取我编辑的行的确切id值以执行更新。

我可以得到我当前的单元格值,但是我无法获得单元格的相应id值。我迭代表id值,然后得到表的所有id值。

我正在使用这个jquery代码进行迭代:

$('#table').ready(function() { 
     $(this).find('.filename').each( function() { 
          alert($(this).html()); 
     }) 
})

然后我尝试了这个简单的JavaScript:

var fid= document.getElementById("filename").textContent;

它只获得表格的第一个id值 例如,如果我编辑第一行,则id值为53 如果我编辑第二行,则id值应为52,但它只有53。

请参阅this link,我之前已发布此问题。

3 个答案:

答案 0 :(得分:1)

getElementById获取元素而不是id。 id是您提供的参数。

你可以这样做:

$('#table').ready(function() { 
     $(this).find('.filename').each( function() { 
          alert(this.id); 
     }) ;
});

您可以随时使用元素的数据属性,而不是使用id(应该始终唯一)来混淆DOM,而不是使用元素的数据属性:

<tr data-identifier="53"><td></td></tr>

$('#table').ready(function() { 
     $(this).find('.filename').each( function() { 
          // if this is the row
          alert($(this).data('identifier')); 
     }) ;
});

答案 1 :(得分:0)

我不太确定我理解你的问题,但这会给你一张表中所有单元格的ID:

  $("#table > td").each(function(){
      alert($(this).attr("id"));
  });

答案 2 :(得分:0)

嗨感谢您的回复,我尝试了一个不同的脚本,它正如我想的那样工作 这是代码

function doubleclick(table,id1)
        {

            table.innerHTML="<input type=text name=tab onBlur=\"javascript:submitNewName(this,'"+id1+ "');\" value=\""+table.innerHTML+"\">";
            table.firstChild.focus();
           // alert(id1);
        }
        function submitNewName(text,id2)
        {
            text.parentNode.innerHTML=text.value;
            $.ajax({
        url: 'update',
         data:{text1:text.value,fileid1:id2},
        type:"POST",
        dataType:"json",
        error:function(data){
           //alert('error')
        },
        success: function(data) {
            //alert('updated!')
        }
    });

        }

HTML: //双击时,它将传递$ {item.filedesc},$ {item.id}

<td ondblclick="javascript:doubleclick(this,${item.id});" >${item.filedesc}</td>