根据JQuery中的唯一标识符获取表行信息

根据JQuery中的唯一标识符获取表行信息,jquery,Jquery,我有一张这样的桌子: <table> <tr> <td> ID1 </td> <td> mr Dawson </td> <td> 37 </td> <td> New York </td> </tr> <tr> <td> ID2 </td> <td> mr Tu

我有一张这样的桌子:

<table>
  <tr>
    <td> ID1 </td>
    <td> mr Dawson </td>
    <td> 37 </td>
    <td> New York </td>
  </tr>
  <tr>
    <td> ID2 </td>
    <td> mr Turner </td>
    <td> 47 </td>
    <td> Washington </td>
  </tr>
  <tr>
    <td> ID3 </td>
    <td> mr Craig </td>
    <td> 26 </td>
    <td> California </td>
  </tr>
</table
SELECT * FROM TableName WHERE ID = "VariableName"
ID - mr Dawson - 37 - New York
但我需要知道如何针对特定行,而不是返回所有行

为了更好地解释我是否使用SQL,我可以使用如下查询:

<table>
  <tr>
    <td> ID1 </td>
    <td> mr Dawson </td>
    <td> 37 </td>
    <td> New York </td>
  </tr>
  <tr>
    <td> ID2 </td>
    <td> mr Turner </td>
    <td> 47 </td>
    <td> Washington </td>
  </tr>
  <tr>
    <td> ID3 </td>
    <td> mr Craig </td>
    <td> 26 </td>
    <td> California </td>
  </tr>
</table
SELECT * FROM TableName WHERE ID = "VariableName"
ID - mr Dawson - 37 - New York
输出应如下所示:

<table>
  <tr>
    <td> ID1 </td>
    <td> mr Dawson </td>
    <td> 37 </td>
    <td> New York </td>
  </tr>
  <tr>
    <td> ID2 </td>
    <td> mr Turner </td>
    <td> 47 </td>
    <td> Washington </td>
  </tr>
  <tr>
    <td> ID3 </td>
    <td> mr Craig </td>
    <td> 26 </td>
    <td> California </td>
  </tr>
</table
SELECT * FROM TableName WHERE ID = "VariableName"
ID - mr Dawson - 37 - New York
但我想将每个列的值存储为变量,以便在脚本的其他地方使用

谢谢

我的问题是如何获取行信息,即每列文本 通过使用JQuery的唯一ID

您可以使用
contains
通过元素的内容获取元素

var toSearch = 'ID2';
$("table td:contains('"+toSearch+"')")
您可能需要而不是
closest()
来获取子体。最接近的人会得到你的祖先而不是后代

var $Row = $("table").find('tr:eq(0)'); //here parameter passed to eq in index
var $cell = $Row.find('td:eq(0)');  //here parameter passed to eq in index
您可以使用变量作为索引

row = 1
col = 1
var $Row = $("table").find('tr:eq('+row+')'); //here parameter passed to eq in index
var $cell = $Row.find('td:eq('+col+'0)');  //here parameter passed to eq in index
我的问题是如何获取行信息,即每列文本 通过使用JQuery的唯一ID

您可以使用
contains
通过元素的内容获取元素

var toSearch = 'ID2';
$("table td:contains('"+toSearch+"')")
您可能需要而不是
closest()
来获取子体。最接近的人会得到你的祖先而不是后代

var $Row = $("table").find('tr:eq(0)'); //here parameter passed to eq in index
var $cell = $Row.find('td:eq(0)');  //here parameter passed to eq in index
您可以使用变量作为索引

row = 1
col = 1
var $Row = $("table").find('tr:eq('+row+')'); //here parameter passed to eq in index
var $cell = $Row.find('td:eq('+col+'0)');  //here parameter passed to eq in index
我的问题是如何获取行信息,即每列文本 通过使用JQuery的唯一ID

您可以使用
contains
通过元素的内容获取元素

var toSearch = 'ID2';
$("table td:contains('"+toSearch+"')")
您可能需要而不是
closest()
来获取子体。最接近的人会得到你的祖先而不是后代

var $Row = $("table").find('tr:eq(0)'); //here parameter passed to eq in index
var $cell = $Row.find('td:eq(0)');  //here parameter passed to eq in index
您可以使用变量作为索引

row = 1
col = 1
var $Row = $("table").find('tr:eq('+row+')'); //here parameter passed to eq in index
var $cell = $Row.find('td:eq('+col+'0)');  //here parameter passed to eq in index
我的问题是如何获取行信息,即每列文本 通过使用JQuery的唯一ID

您可以使用
contains
通过元素的内容获取元素

var toSearch = 'ID2';
$("table td:contains('"+toSearch+"')")
您可能需要而不是
closest()
来获取子体。最接近的人会得到你的祖先而不是后代

var $Row = $("table").find('tr:eq(0)'); //here parameter passed to eq in index
var $cell = $Row.find('td:eq(0)');  //here parameter passed to eq in index
您可以使用变量作为索引

row = 1
col = 1
var $Row = $("table").find('tr:eq('+row+')'); //here parameter passed to eq in index
var $cell = $Row.find('td:eq('+col+'0)');  //here parameter passed to eq in index
您可以使用
filter()
方法按单元格内容查找行。例如:

var id = 'ID2';

var row = $('table tr').filter(function() {
    return $(this).find('td:eq(0)').text() === id;
});
然后,您可以使用此方法获取表单元格数组:

var data = $('table tr').filter(function() {
    return $(this).find('td:eq(0)').text() === id;
})
.find('td').map(function() {
    return $(this).text();
}).get();

console.log(data);
演示:

您可以使用
filter()
方法按单元格内容查找行。例如:

var id = 'ID2';

var row = $('table tr').filter(function() {
    return $(this).find('td:eq(0)').text() === id;
});
然后,您可以使用此方法获取表单元格数组:

var data = $('table tr').filter(function() {
    return $(this).find('td:eq(0)').text() === id;
})
.find('td').map(function() {
    return $(this).text();
}).get();

console.log(data);
演示:

您可以使用
filter()
方法按单元格内容查找行。例如:

var id = 'ID2';

var row = $('table tr').filter(function() {
    return $(this).find('td:eq(0)').text() === id;
});
然后,您可以使用此方法获取表单元格数组:

var data = $('table tr').filter(function() {
    return $(this).find('td:eq(0)').text() === id;
})
.find('td').map(function() {
    return $(this).text();
}).get();

console.log(data);
演示:

您可以使用
filter()
方法按单元格内容查找行。例如:

var id = 'ID2';

var row = $('table tr').filter(function() {
    return $(this).find('td:eq(0)').text() === id;
});
然后,您可以使用此方法获取表单元格数组:

var data = $('table tr').filter(function() {
    return $(this).find('td:eq(0)').text() === id;
})
.find('td').map(function() {
    return $(this).text();
}).get();

console.log(data);

演示:

鉴于发布了所需的输出,并且没有任何用户输入/操作导致该输出,我建议(尽管未经测试):

要获取JavaScript对象中的所有行,请执行以下操作:

var allRows = {};
$('table tr').each(function(index){
    allRows['row' + (index + 1)] = $(this).find('td').map(function(){
        return $(this).text();
    }).get().join(' - ');
});
参考资料:


考虑到发布的所需输出,以及没有任何用户输入/操作导致该输出,我建议(尽管未经测试):

要获取JavaScript对象中的所有行,请执行以下操作:

var allRows = {};
$('table tr').each(function(index){
    allRows['row' + (index + 1)] = $(this).find('td').map(function(){
        return $(this).text();
    }).get().join(' - ');
});
参考资料:


考虑到发布的所需输出,以及没有任何用户输入/操作导致该输出,我建议(尽管未经测试):

要获取JavaScript对象中的所有行,请执行以下操作:

var allRows = {};
$('table tr').each(function(index){
    allRows['row' + (index + 1)] = $(this).find('td').map(function(){
        return $(this).text();
    }).get().join(' - ');
});
参考资料:


考虑到发布的所需输出,以及没有任何用户输入/操作导致该输出,我建议(尽管未经测试):

要获取JavaScript对象中的所有行,请执行以下操作:

var allRows = {};
$('table tr').each(function(index){
    allRows['row' + (index + 1)] = $(this).find('td').map(function(){
        return $(this).text();
    }).get().join(' - ');
});
参考资料:



您希望得到什么结果?应该生成什么输出?@DavidThomas我不确定您以前是否使用过SQL,但我在那里放了一段代码片段,希望能帮助您理解。如果你愿意,我可以更新这个问题?是的。我想知道你们想要的是HTML字符串、信息数组、csv还是JavaScript对象。@DavidThomas请看修改后的问题。你们想要得到什么结果?应该生成什么输出?@DavidThomas我不确定您以前是否使用过SQL,但我在那里放了一段代码片段,希望能帮助您理解。如果你愿意,我可以更新这个问题?是的。我想知道你们想要的是HTML字符串、信息数组、csv还是JavaScript对象。@DavidThomas请看修改后的问题。你们想要得到什么结果?应该生成什么输出?@DavidThomas我不确定您以前是否使用过SQL,但我在那里放了一段代码片段,希望能帮助您理解。如果你愿意,我可以更新这个问题?是的。我想知道你们想要的是HTML字符串、信息数组、csv还是JavaScript对象。@DavidThomas请看修改后的问题。你们想要得到什么结果?应该生成什么输出?@DavidThomas我不确定您以前是否使用过SQL,但我在那里放了一段代码片段,希望能帮助您理解。如果你愿意,我可以更新这个问题?是的。我想知道你们是想要一个HTML字符串、一个信息数组、一个csv还是一个JavaScript对象。@DavidThomas请看修改后的问题。您好,这是一个很好的工作示例,但是,我如何才能将其作为数组返回,而不必拆分字符串呢?尽管我很傻,它是作为数组返回的,所以我可以简单地引用每个列的值,比如var age=data[2]嗨,这是一个很好的工作示例,但是,我如何才能将其作为数组返回,而不必拆分字符串呢?不管怎样,我只是很傻,它将其作为数组返回,这样我就可以简单地引用每个列的值,比如var age=data[2]嗨,这是一个很好的工作示例,但是我如何才能将其作为数组返回,而不必拆分字符串呢