Javascript 抓取单元格值指定带有jquery的HTML表

Javascript 抓取单元格值指定带有jquery的HTML表,javascript,jquery,html,Javascript,Jquery,Html,我有一个文件中的大字符串。我转换成文本区域的Csv文件。 它由“,”(逗号)分隔。 如字符串的一部分 <textarea>rank,place,population,lat,lon 1,New York city,8175133,40.71455,-74.007124 2,Los Angeles city,3792621,34.05349,-118.245323 3,Chicago city,2695598,45.37399,-92.888759 4,Houston city,209

我有一个文件中的大字符串。我转换成文本区域的Csv文件。 它由“,”(逗号)分隔。 如字符串的一部分

<textarea>rank,place,population,lat,lon 1,New York city,8175133,40.71455,-74.007124 2,Los Angeles city,3792621,34.05349,-118.245323 3,Chicago city,2695598,45.37399,-92.888759 4,Houston city,2099451,41.337462,-75.733627 5,Philadelphia city,1526006,37.15477,-94.486114 6,Phoenix city,1445632,32.46764,-85.000823 7,San Antonio city,1327407,37.706576,-122.440612 8,San Diego city,1307402,37.707815,-122.466624 9,Dallas city,1197816,40.636,-91.168309 10,San Jose city,945942,41.209716,-112.003047 11,Jacksonville city,821784,30.2887,-81.391794 12,Indianapolis city (balance),820445,39.766911,-86.149963 13,Austin city,790390,28.973405,-95.961284 14,San Francisco city,805235,28.371795,-82.187909 15,Columbus city,787033,41.258735,-91.374424 16,Fort Worth city,741206,38.0016,-89.066334 17,Charlotte city,731424,39.09931,-76.817799 18,Detroit city,713777,42.408871,-83.002647 19,El Paso city,649121,41.645415,-91.599794 20,Memphis city,646889,35.149681,-90.04892 21,Boston city,617594,41.202364,-112.032315 22,Seattle city,608660,45.520615,-123.873929 23,Denver city,600158,32.96438,-102.829919 24,Baltimore city,620961,39.284664,-76.62022 25,Washington city,601723,38.899101,-77.028999 26,Nashville-Davidson metropolitan government (balance),601222,45.304048,-121.756365 27,Louisville/Jefferson County metro government (balance),597337,45.304048,-121.756365 28,Milwaukee city,594833,43.041809,-87.906837 29,Portland city,583776,45.52186,-123.882594 30,Oklahoma City city,579999,39.05514,-96.816104 31,Las Vegas city,583756,40.4879,-85.609999 32,Albuquerque city,545852,35.084179,-106.648643 33,Tucson city,520116,41.644727,-91.601947 34,Fresno city,494665,38.645741,-77.321863 35,Sacramento city,466488,38.915291,-121.594651 36,Long Beach city,462257,29.748022,-94.827603 37,Kansas City city,459787,39.016682,-96.864303 38,Mesa city,439041,30.686452,-97.700842 39,Virginia Beach city,437994,36.767408,-76.047707 40,Atlanta city,420003,37.691375,-122.454979 41,Colorado Springs city,416427,40.17676,-75.547839 42,Raleigh city,403892,41.132609,-73.977405 43,Omaha city,408958,41.260689,-95.94059 44,Miami city,399457,41.63636,-91.501889 45,Tulsa city,391906,39.095215,-121.613384 46,Oakland city,390724,38.334108,-87.345139 47,Cleveland city,396815,36.640475,-82.582569 48,Minneapolis city,382578,44.979031,-93.264931 49,Wichita city,382368,37.686981,-97.335579 50,Arlington city,365438,41.29525,-88.25278</textarea>
我需要将包含第一个
***
***
的内容设置为第三个
中等于“2”的警报。在这种情况下,警报中会出现编号“3792621”

我们需要在家里做这件事。Text()


谢谢

当您有一个html字符串(比如数据)时,您可以对其进行操作,而无需将其添加到DOM中,如下所示:

var rows = $(data).find('tr').filter(function(){ 
    return $(this).children('td').eq(2).text() == 2;
});
这将返回第三个单元格中包含内容2的行

可能通过采用以下方法可以解决导致.html()出现问题的大字符串问题:

var table = $('<table/>');
for (i = 0; i < lines.length; i++)
    table.append("<tr><td>" + lines[i].slice(0,-1).split(",").join("</td><td>") + "</td></tr>");
$('#fileDisplayArea').html(table);
var表=$('');
对于(i=0;i
您的CSV数据格式不正确。行之间的分隔符是空格“”字符,而不是换行符“\n”。因此,计算机无法知道下一个数据点何时开始。您必须将所有城市都用引号括起来,这样空间就不会注册为新数据点的指示器。比如说

而不是

New York city
这样做:

"New York city"
因此,您的代码
data.split(“\r”)
没有任何作用,因为没有
“\r”
可用于拆分。但是,当您执行
data.split(“”
时,它会起作用

由于您有50个预期排名的城市,运行上述命令应该会给我51个对象的数组(50个城市+1个标题)。但是,运行
data.split(“\r”)
不起任何作用。运行
data.split(“”)
会给我121个结果

用我更新的代码检查小提琴


最终版本:

我的字符串“data”包含标记。如何在其内部进行筛选?发生的是div id=“fileDisplayArea”中的表结构作为文本。对于我来说,在警告代码中显示单元格数据不起作用:(对代码进行一点解释总是能得到更好的答案。如果用html替换文本,您的JSFIDLE可以很好地工作。我没有意识到您只有一行。@user3558931的工作原理是在textarea中只有一小部分代码。我的实际代码是textarea中没有的代码的10倍。Puting on.html()它会使我的浏览器崩溃,更新我的代码,然后在引号中用replace(/\,/g,“\”\”)括起逗号;会起作用吗?问题是空格重载。它同时表示字母之间的间隔以及数据点的结束。您需要处理空格,而不是引号或逗号。当我说我不能使用.Html()时,请注意,因为我从.Csv文件中获得了一个巨大的字符串,如果我将其移动到Html,将破坏我的浏览器!我需要leaves.Text()!你的正则表达式应该是/[0-9](\s)/.regular expression?这样我就可以在不破坏浏览器的情况下使用.html()?简而言之,你需要洛杉矶市的值吗?是的,在第三个警报中,第一个值等于“2”。在这种情况下,警报中出现的数字是“3792621”。我仍然不明白第一个值是否等于“2”您不能使用.text()来附加html。您必须使用.html()第一列是ID,对吗?知道这一点,我知道每个第一列都引用ID!所以我只需要获取ID等于2的行,从第三列中查找信息。获取它吗?:D
New York city
"New York city"