我试图从DOM中获取出生日期(不是生日,而是日期)。
我尝试使用Birthday</th><td>
创建regex以替换''
之前的所有内容,但我无法弄清楚如何在日期之后删除其余内容分裂&amp;加入。在使用日历年的每天数组之前,我想我会转向StackOverflow。
我可以使用以下方式获取HTML:
document.getElementById('personal-info-view').innerHTML
返回:
"<tbody><tr><th scope="row">Birthday</th><td>October 21</td></tr><tr><th scope="row">Marital Status</th><td>Single</td></tr></tbody>"
从这里开始:
<table id="personal-info-view" class="additional-info-listing" summary="Personal Details">
<tbody>
<tr>
<th scope="row">Birthday</th>
<td>October 21</td>
</tr>
<tr>
<th scope="row">Marital Status</th>
<td>Single</td>
</tr>
</tbody>
</table>
上传更新:
当我在LinkedIn上的关系即将到来的生日时,我正试图收到警报。同时查看他们的个人资料。
答案 0 :(得分:2)
使用jQuery:
$(function(){
var birthdate = $("tbody > :first-child > :last-child").text();
alert(birthdate);
});
使用Javascript:
$(function(){
var birthdate = document.querySelector("tbody > :first-child > :last-child").innerHTML;
alert(birthdate);
});
正则表达式:(见@Washington Guedes,很高兴为其他回答者提供信用)。
希望这有帮助!
建议:针对未来,您应该考虑您选择的选择器并将其存储在如下变量中:
var birthdaySelector = "tbody > :first-child > :last-child";
如果您正在处理的网站因任何原因发生了变化,或者您自己找到了最佳选择器,则可以通过修改birthdaySelector
变量中的值来轻松更改它。这样你也可以用你喜欢的JS方式实现它。
如果你想知道如何使用它,你可以这样做:
的jQuery
var birthdate = $(birthdaySelector).text();
的Javascript
var birthdate = document.querySelector(birthdaySelector).innerHTML;
答案 1 :(得分:1)
试试这个正则表达式:
[^>]+\d+(?=<)
这将是:
document.getElementById('personal-info-view').innerHTML.match(/[^>]+\d+(?=<)/)[0];
希望它有所帮助。
答案 2 :(得分:1)
您可以直接使用.querySelectorAll
获取DOM元素。
document.querySelectorAll("#personal-info-view tbody tr td")[0].innerHTML;
答案 3 :(得分:1)
我想我试试这个:
document.getElementById('personal-info-view').children[0].children[0].children[1].innerHTML;
<强> Demo 强>
如果你能在那个表格单元格上获得一个ID会更好。这非常脆弱(依赖于DOM)。
答案 4 :(得分:0)
尝试这样的事情:
RedFruitFactory