JavaScript HTML table parsing
JavaScript HTML table parsing
HTML
<table id="table">
<tr>
<td>1999.09-2007.06</td>
<td> Secondary School </td>
</tr>
<tr>
<td>2007.09-2011.06</td>
<td> College </td>
</tr>
<tr>
<td>2011.09-2015.06</td>
<td> University</td>
</tr>
</table>
<form autocomplete="on">
<p/>
<label>Year</label>
<input type="text" id="year" name="year" autofocus/>
<p/>
<label>Month</label>
<input type="text" name="month" id="month" />
<p/>
</form>
<input type="button" onClick="method()" />
JavaScript
function method(){
var year = document.getElementById("year").value;
var month = document.getElementById("month").value;
var data = new Date(year,month-1,1);
var dataTable = document.getElementById("table");
var cells = dataTable.querySelectorAll("td");
var cells2 = dataTable.querySelectorAll("td+td");
for (var i = 0; i < cells.length; i++){
var mikro = cells[i].firstChild.data.split("-");
var place = cells2[i].firstChild.data;
var firstData = mikro[0].split(".");
var secondData = mikro[1].split(".");
var data1 = new Date(firstData[0],firstData[1]-1,1);
var data2 = new Date(secondData[0],secondData[1]-1,1);
if(data1<=data && data2>=data){
alert(place);
}
}
}
这里我在表中有两列,我想创建一个脚本,帮助我从中找到信息:我有<input type="text" id="year" name="year" autofocus/>
和<input type="text" name="month" id="month" />
,我可以在其中输入年份&月进入年&月份我必须根据第一栏的日期从第二栏获得信息,例如:"输入年份:2002,输入月份:05-结果必须是‘中学’",因为它在1999.09-07.06之间。我看不出我的脚本有什么问题,它总是给我虚假的信息。
试试这个(jsfiddle(,每次将单元格索引增加2,并使用更简单的td
选择器:
function method () {
var year = document.getElementById("year").value;
var month = document.getElementById("month").value;
var data = new Date(year, month - 1, 1);
var dataTable = document.getElementById("table");
var cells = dataTable.querySelectorAll("td");
for (var i = 0; i < cells.length; i+=2) {
var mikro = cells[i].firstChild.data.split("-");
var place = cells[i+1].firstChild.data;
console.log(mikro, place);
var yearMonth1 = mikro[0].split(".");
var yearMonth2 = mikro[1].split(".");
var data1 = new Date(yearMonth1[0], yearMonth1[1] - 1, 1);
var data2 = new Date(yearMonth2[0], yearMonth2[1] - 1, 1);
if (data1 <= data && data2 >= data) {
alert(place);
}
}
}
相关文章:
- Jquery - table.row(tr) is undefined
- javascript, ajax, table, colour
- jQuery parent() in table
- SCEditor BBcode to HTML parsing
- click-cell.bs.table是如何工作的
- onclick for table TD
- AppendChild Form / Table [Javascript/Html/PHP]
- Javascript: Output table
- onRowClick for react-bootstrap-table
- Google Fusion Table Javascript UPDATE Query?
- jquery .删除整个 li 或 table 元素后
- JQuery Click on Table
- AngularJS translate table
- CSS styling of <UL> as table
- Bootstrap Table
- 如何从SQL API代码迁移到Google Fusion Table API v1
- parsing .net DateTime in Ruby & JavaScript
- 选择/取消选择复选框,该复选框未按预期使用.coneast('table').find('tbo
- 使用Ember.js将新行动态插入到Table上下文中
- JavaScript HTML table parsing