所以我有一个由我的客户生成的html表。我没有兴趣改变他们此时生成此代码的方式,也没有。
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Chef's Selections for Tuesday, April 25, 2017</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>SPRING FLING! Please ask us about our Bell's Beer Pairing! May 22nd!</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Soups</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Beef Vegetable</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Cream of Tomato</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Lunch Selections</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Butterflied Hot Dog</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>all beef butterflied hot dog, grilled, American cheese, mustard, bacon, pickle spear, French </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>fries $6.50</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Pulled BBQ Pork Sliders</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Two tender smoked pulled pork sliders, barbeque sauce, Cheddar cheese, house made coleslaw, </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>French fries $8</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Grilled Chicken Avocado Club Sandwich</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Boneless chicken breast char-grilled, avocado, Swiss cheese, bacon, lettuce, tomato, mayonnaise, </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>house made macaroni salad $10.50</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Desserts</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Chocolate Oreo Cream Cake | Kentucky Bourbon Pecan Pie</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Double Chocolate Peppermint Brownie w/ Mint Chocolate Chip Ice Cream & Hot Fudge+</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Brownie Bottom Sundae | Hot Fudge Cream Puff</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Crème Brulee+ | Vanilla Cheesecake</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Key Lime Pie | Coconut Macaroon w/ Sorbet++</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>+ Gluten Free ++ Gluten and Dairy Free</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>*</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>* These items are cooked to order and the consumption of raw or undercooked meats, fish or shellfish </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>may increase your risk of food borne illness.</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Drink Specials</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>House Made SANGRIA $6 Glass | $16 Carafe</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Rotating Wine</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>The Prisoner Red Blend, Napa Valley, CA '15 | $66 Btl</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Balletto Pinor Noir, Sonoma, '13 | 8 oz. $15 | Btl $46</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Red Diamond Malbec, Mendoza-Argentina, '12 | 8 oz. $9 | Btl $28</FONT></B>
</TD>
</TR>
</TABLE>
我有这个项目的另一部分,我有一个表单,我有通过JSON存储的值。话虽如此,我想要一种方法能够循环遍历表并将项目存储到数组中,然后将数组合并到一个JSON文件中,以便我可以使用它并在此项目的其他地方进行比较。这是我获取此HTML表文件然后部分解析它的代码,但我仍然试图找出循环。这是代码:
$.get('/specials/lunch_klm.html', function(data) {
var rows = jQuery($.parseHTML(data)).find("tr");
var results = [];
var category = [];
var apps = [];
var soups = [];
var entrees = [];
var desserts = [];
rows.each(function(i) {
thiz = jQuery(this);
var markup = thiz.html();
var text = $.trim(thiz.text());
if( text == 'Soups') {
results.push(text);
}
})
console.log(soups);
}, 'html');
我想循环,直到我点击文本值Soups,然后将接下来的几行值放入汤数组,直到我进入“午餐选择”,然后只存储主菜的标题,而不是描述。任何帮助将不胜感激。
答案 0 :(得分:0)
table
包含rows[]
,其中包含cells[]
。您无法直接从cells[]
获取table
。
如果没有嵌套表格,您可以使用table.getElementsByTagName('td')
作为快捷方式。
否则,你应该循环遍历每个rows[]
,然后在那个循环中你可以循环遍历cells[]
。
var tables = document.getElementsByTagName('table'),
i;
for (i = 0; i < tables.length; i++) {
var table = tables[i],
rows = table.rows,
rowcount = rows.length,
r,
cells, cellcount, c, cell;
for (r = 0; r < rowcount; r++) {
cells = rows[r].cells;
cellcount = cells.length;
for (c = 0; c < cellcount; c++) {
cell = cells[c];
console.log(cell.textContent);
}
}
}
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Chef's Selections for Tuesday, April 25, 2017</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>SPRING FLING! Please ask us about our Bell's Beer Pairing! May 22nd!</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Soups</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Beef Vegetable</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Cream of Tomato</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Lunch Selections</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Butterflied Hot Dog</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>all beef butterflied hot dog, grilled, American cheese, mustard, bacon, pickle spear, French </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>fries $6.50</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Pulled BBQ Pork Sliders</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Two tender smoked pulled pork sliders, barbeque sauce, Cheddar cheese, house made coleslaw, </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>French fries $8</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Grilled Chicken Avocado Club Sandwich</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Boneless chicken breast char-grilled, avocado, Swiss cheese, bacon, lettuce, tomato, mayonnaise, </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>house made macaroni salad $10.50</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Desserts</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Chocolate Oreo Cream Cake | Kentucky Bourbon Pecan Pie</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Double Chocolate Peppermint Brownie w/ Mint Chocolate Chip Ice Cream & Hot Fudge+</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Brownie Bottom Sundae | Hot Fudge Cream Puff</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Crème Brulee+ | Vanilla Cheesecake</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Key Lime Pie | Coconut Macaroon w/ Sorbet++</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>+ Gluten Free ++ Gluten and Dairy Free</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>*</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>* These items are cooked to order and the consumption of raw or undercooked meats, fish or shellfish </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>may increase your risk of food borne illness.</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Drink Specials</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>House Made SANGRIA $6 Glass | $16 Carafe</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Rotating Wine</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>The Prisoner Red Blend, Napa Valley, CA '15 | $66 Btl</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Balletto Pinor Noir, Sonoma, '13 | 8 oz. $15 | Btl $46</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Red Diamond Malbec, Mendoza-Argentina, '12 | 8 oz. $9 | Btl $28</FONT></B>
</TD>
</TR>
</TABLE>
答案 1 :(得分:0)
你可能需要一个这样的逻辑:
var str = "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR HEIGHT=16> <TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF><B><FONT style=FONT-SIZE:10pt FACE=\"Arial\" COLOR=#000000>Chef's Selections for Tuesday, April 25, 2017</FONT></B></TD> </TR></TABLE><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR HEIGHT=16> <TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF><B><FONT style=FONT-SIZE:10pt FACE=\"Arial\" COLOR=#000000>SPRING FLING! Please ask us about our Bell's Beer Pairing! May 22nd!</FONT></B></TD> </TR></TABLE><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR HEIGHT=16> <TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF><B><FONT style=FONT-SIZE:10pt FACE=\"Arial\" COLOR=#000000>Soups</FONT></B></TD> </TR></TABLE><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR HEIGHT=16> <TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF><B><FONT style=FONT-SIZE:10pt FACE=\"Arial\" COLOR=#000000>Beef Vegetable</FONT></B></TD> </TR></TABLE><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR HEIGHT=16> <TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF><B><FONT style=FONT-SIZE:10pt FACE=\"Arial\" COLOR=#000000>Cream of Tomato</FONT></B></TD> </TR></TABLE><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR HEIGHT=16> <TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF><B><FONT style=FONT-SIZE:10pt FACE=\"Arial\" COLOR=#000000>Lunch Selections</FONT></B></TD> </TR></TABLE><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR HEIGHT=16> <TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF><B><FONT style=FONT-SIZE:10pt FACE=\"Arial\" COLOR=#000000>Butterflied Hot Dog</FONT></B></TD> </TR></TABLE>",
html = $.parseHTML( str ),
results = [],
soups = [],
entrees = [];
var currentArr = results;
$.each( html, function( i, el ) {
var t = $(el).find("font").text();
if ("Soups" == t) {
results.push("<li>" + t + "</li>");
currentArr = soups;
}
else if ("Lunch Selections" == t) {
results.push("<li>" + t + "</li>");
currentArr = entrees;
}
// you may need another if condition here to switch currentArr back to results
else {
currentArr.push("<li>" + t + "</li>");
}
});
请参阅this,了解其运作方式。希望能有所帮助。
答案 2 :(得分:0)
这会让你开始。但是,如果没有将某些类添加到行中,则很难将项目与项目描述分开。我开始使用ignoreText
数组来过滤这些描述,这些数组现在可用于一些描述
如果在后端添加类是可行的,那么将大大简化问题
// predefine the categories in array
// if needed could generate these by inspecting `font-size`
var cats = ['Soups', 'Lunch Selections', 'Desserts', 'Drink Specials','Rotating Wine'],
ignoreText = ['*', 'may increase'],
currCat = null,
// create object with cats as keys and empty arrays to push data to
items = cats.reduce(function(a, c) {
a[c] = [];
return a;
}, {});
// would be what you receive in your ajax, used helper function for demo
var ajaxData = get_data()
$(ajaxData).filter('table').each(function() {
var txt = $(this).text().trim(),
isCatHeading = cats.indexOf(txt) > -1;
if (isCatHeading) {
currCat = txt
}
if (currCat && !isCatHeading) {
// see if start of txt is in the "ignore" array
var isIgnoreText = ignoreText.filter(function(reg) {
return txt.indexOf(reg) === 0;
}).length;
if (!isIgnoreText) {
items[currCat].push(txt)
}
}
});
// display data in demo
$('pre').text(JSON.stringify(items, null, 4));
//helper function for demo
function get_data(){
return `<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Chef's Selections for Tuesday, April 25, 2017</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>SPRING FLING! Please ask us about our Bell's Beer Pairing! May 22nd!</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Soups</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Beef Vegetable</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Cream of Tomato</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Lunch Selections</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Butterflied Hot Dog</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>all beef butterflied hot dog, grilled, American cheese, mustard, bacon, pickle spear, French </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>fries $6.50</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Pulled BBQ Pork Sliders</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Two tender smoked pulled pork sliders, barbeque sauce, Cheddar cheese, house made coleslaw, </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>French fries $8</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Grilled Chicken Avocado Club Sandwich</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Boneless chicken breast char-grilled, avocado, Swiss cheese, bacon, lettuce, tomato, mayonnaise, </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>house made macaroni salad $10.50</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Desserts</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Chocolate Oreo Cream Cake | Kentucky Bourbon Pecan Pie</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Double Chocolate Peppermint Brownie w/ Mint Chocolate Chip Ice Cream & Hot Fudge+</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Brownie Bottom Sundae | Hot Fudge Cream Puff</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Crème Brulee+ | Vanilla Cheesecake</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>Key Lime Pie | Coconut Macaroon w/ Sorbet++</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>+ Gluten Free ++ Gluten and Dairy Free</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>*</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=14>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>* These items are cooked to order and the consumption of raw or undercooked meats, fish or shellfish </FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=12>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<FONT style=FONT-SIZE:8pt FACE="Arial" COLOR=#000000>may increase your risk of food borne illness.</FONT>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Drink Specials</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>House Made SANGRIA $6 Glass | $16 Carafe</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=19>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:12pt FACE="Arial" COLOR=#000000>Rotating Wine</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>The Prisoner Red Blend, Napa Valley, CA '15 | $66 Btl</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Balletto Pinor Noir, Sonoma, '13 | 8 oz. $15 | Btl $46</FONT></B>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR HEIGHT=16>
<TD WIDTH=456 ALIGN=CENTER BGCOLOR=#FFFFFF>
<B><FONT style=FONT-SIZE:10pt FACE="Arial" COLOR=#000000>Red Diamond Malbec, Mendoza-Argentina, '12 | 8 oz. $9 | Btl $28</FONT></B>
</TD>
</TR>
</TABLE>`
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h4>
Data
</h4>
<pre>Test</pre>