给出table
之类:
<tr>
<th scope="row" style="padding-right: 1em;">Date</th>
<td>
April 26, 1937
<span class="noprint">; 80 years ago</span>
<span style="display:none"> (<span class="bday dtstart published updated">1937-04-26</span>)</span><br>
16:30 – 19:30 (<a href="/wiki/Central_European_Time" title="Central European Time">CET</a>)
</td>
</tr>
如何通过查看所有<td>
文字 日期 来获取<th>
中的所有日期?例如。 April 26, 1937
实际上我只需要year
。
JS:
var url="https://en.wikipedia.org/w/api.php?action=parse&disablelimitreport=true&format=json&page=" + myTitle +"&redirects&prop=text&callback=?";
$.getJSON(url,function(data){
wikiHTML = data.parse.text["*"];
$wikiDOM = $("<document>"+wikiHTML+"</document>");
$("#results").append("<li>" + $wikiDOM.find('.infobox .date').html() + "</li>");
});
<ul id="results">
</ul>
在上面我正在检查课程.date
,但如果它是<th>
中的文字怎么办?
JsFiddle使用课程.Location
:https://jsfiddle.net/zt3ssajd/106/
答案 0 :(得分:0)
使用选择器contains()查找包含给定文本的所有元素。与siblings结合使用可找到td元素。将它们组合在一起:
$('th:contains("Date")') // Find th with text "Date" in it
.siblings('td') // Get sibling td
.find('.published') // Find something with class 'published'
.text().substring(0, 4) // Get first 4 charatecters of text
概念验证(启用控制台):https://jsfiddle.net/petervanderwal/xn73d0d2/1/
答案 1 :(得分:0)
您可以查看:
HTML:
<h2>TABLE DATA</h2>
<table id="testTable">
<tr>
<th scope="row" style="padding-right: 1em;">Date</th>
<td>
April 26, 1937
<span class="noprint">; 80 years ago</span>
<span style="display:none"> (<span class="bday dtstart published updated">1937-04-26</span>)</span><br>
16:30 – 19:30 (<a href="/wiki/Central_European_Time" title="Central European Time">CET</a>)
</td>
</tr>
</table>
<hr />
<h2>TARGET DATA</h2>
<p id="showOutPut"></p
JS:
$(document).ready(function(){
var content=$('#testTable tr').find('th').siblings('td').html();
$('#showOutPut').html(content);
console.log('Output : '+content);
});
在JSFiddle Table Test
检查输出目标或控制台注意:只需使用.text()即可。