Javascript 如何将ID与div的内容关联?

Javascript 如何将ID与div的内容关联?,javascript,jquery,Javascript,Jquery,例如,我有一个HTML表 name | grade | action bob | 1.0 | [button class="button" id='1'] jack | 2.0 | [button class="button" id='2'] john | 3.0 | [button class="button" id='3'] 当我点击按钮时 要获取id $(function(){ $('.button').click(function() var buttonid =

例如,我有一个HTML表

name | grade  | action
bob  | 1.0    | [button class="button" id='1']
jack | 2.0    | [button class="button" id='2']
john | 3.0    | [button class="button" id='3']
当我点击按钮时

要获取id

$(function(){
$('.button').click(function()
var buttonid = this.id
});
});
那么,如果我按buttonid 1,我如何在不打开数据库的情况下得到“bob”这个名字呢

此外,如果我按下按钮,如何获取每列中的值?i、 e.如果我按下按钮3,我如何获得3.0级或名称和等级

生成表的行的脚本

while(){ 
echo '<tr>'; 
echo '<td>'.$name.'</td>'; 
echo '<td>'.$grade.'</td>'; 
echo '<td> <input type="button" class="button" id="'.$id'"</td>';
echo '</tr>';
}

你的问题有点不清楚,但我想这大概就是你想要的:

$('#myTable button').click(function ()
{
    var $tr = $(this).closest('tr'),
        $nameTd = $tr.children('td:first'),
        name = $nameTd.text();

    alert(name);
});

演示:

您的问题有点不清楚,但我认为这大致就是您想要的:

$('#myTable button').click(function ()
{
    var $tr = $(this).closest('tr'),
        $nameTd = $tr.children('td:first'),
        name = $nameTd.text();

    alert(name);
});

演示:

在我看来,最简单的方法是在TR元素上使用HTML数据属性,并将所有数据都放在那里,然后您可以使用$this.closesttr.dataname; 比如:


在我看来,最简单的方法是在TR元素上使用HTML数据属性,并将所有数据都放在那里,然后您可以只使用$this.closesttr.dataname; 比如:

您的js应该是:

$(function(){
    $('button').click(function(){
        var text= $(this).parent().siblings('td:first').text();
    });
});
您的js应该是:

$(function(){
    $('button').click(function(){
        var text= $(this).parent().siblings('td:first').text();
    });
});
尝试:

尝试:


我认为你的代码过于简单了。在示例click处理程序中,buttonid将仅为“button”。您能给我们看一下HTML表中实际行的标记吗?另外,您遗漏了一个{,ID不能以数字开头。实际上,button.click永远不会起作用,因为任何东西的ID都不是button@MattBall表的行是在while循环while中生成的{echo;echo.$name.'echo.$grade.'echo'我认为您的代码过于简化了。在示例click handler中,buttonid将永远是'button'。您能给我们显示HTML表中实际行的标记吗?您还错过了一个{和ID不能以数字开头。实际上,button.click将永远不会工作,因为任何东西的ID都不是button@MattBall表的行是在while循环while中生成的{echo;echo.$name.'echo.$grade.'echo'使用父项将选择按钮周围的TD,而不是TDs周围的TR。我想你的意思是。兄弟姐妹,因为按钮的父项是TD。使用父项将选择按钮周围的TD,而不是TDs周围的TR。我想你的意思是。兄弟姐妹,因为按钮的父项是TD。你没有DOM遍历非常正确。请看我的答案。是的,我一直忘了第一次遍历是如何工作的…修复了。我得到了我的答案,但混合了mblase75脚本和Matt Ball的提示!下面是脚本var name=$this.closest'tr'。children.first.next.text;您还没有完全正确地完成DOM遍历。请看我的答案。是的,我一直忘了第一次遍历是如何工作的…fixed.得到了我的答案,但混合了mblase75脚本和Matt Ball的提示!这是脚本var name=$this.closest'tr'。children.first.next.text;你用“simple”这个词。我不认为它意味着你认为它意味着什么。嗨,我不想得到名字,我怎么得到分数?我不知道hink是时候了。提示:是父子选择器让人困惑,但我还是设法弄明白了。谢谢你的提示!嗨,没有名字,我怎么才能得到分数?我想是时候了。提示:是父子选择器让人困惑,但我设法弄明白了。谢谢你的提示!