Javascript 在DOM中查找生日
我试图从DOM中仅获取出生日期(不是单词生日,而是日期) 我尝试创建一个,用一个Javascript 在DOM中查找生日,javascript,regex,dom,Javascript,Regex,Dom,我试图从DOM中仅获取出生日期(不是单词生日,而是日期) 我尝试创建一个,用一个'替换生日之前的所有内容,但我不知道如何删除日期之后的剩余内容以及拆分和合并。在交叉引用日历年中每天的数组之前,我想我应该转向StackOverflow 我可以使用以下方法获取HTML: document.getElementById('personal-info-view').innerHTML 返回: "<tbody><tr><th scope="row">Birthday&
'
替换生日之前的所有内容,但我不知道如何删除日期之后的剩余内容以及拆分和合并。在交叉引用日历年中每天的数组之前,我想我应该转向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>"
“生日10月21日婚姻状况单身”
从这里开始:
<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上的联系人在查看他们的个人资料时发现即将到来的生日时,我试图获得一个提醒。试试这个正则表达式:
[^>]+\d+(?=<)
[^>]+\d+(?=]+\d+(?=试试这个正则表达式:
[^>]+\d+(?=<)
[^>]+\d+(?=]+\d+(?=试试这样的方法:
~\w+ \d+~
试着这样做:
~\w+ \d+~
使用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);
});
Regex:(见@Washington Guedes,很高兴为其他回答者提供支持)
希望这有帮助
<强>建议< /强>:面向未来,你应该考虑你选择的选择器,并将其存储在一个变量中,如:
var birthdaySelector = "tbody > :first-child > :last-child";
如果您正在处理的站点因任何原因发生了更改,或者您自己找到了一个最佳选择器,您可以通过修改birthdaySelector
变量中的值来轻松地更改它。这样,您也可以用您喜欢的任何方式实现它
如果您可能想知道如何使用它,您可以这样做:
jQuery
var birthdate = $(birthdaySelector).text();
Javascript
var birthdate = document.querySelector(birthdaySelector).innerHTML;
使用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);
});
Regex:(见@Washington Guedes,很高兴为其他回答者提供支持)
希望这有帮助
<强>建议< /强>:面向未来,你应该考虑你选择的选择器,并将其存储在一个变量中,如:
var birthdaySelector = "tbody > :first-child > :last-child";
如果您正在处理的站点因任何原因发生了更改,或者您自己找到了一个最佳选择器,您可以通过修改birthdaySelector
变量中的值来轻松地更改它。这样,您也可以用您喜欢的任何方式实现它
如果您可能想知道如何使用它,您可以这样做:
jQuery
var birthdate = $(birthdaySelector).text();
Javascript
var birthdate = document.querySelector(birthdaySelector).innerHTML;
您可以直接使用.querySelectorAll
获取DOM元素
document.querySelectorAll("#personal-info-view tbody tr td")[0].innerHTML;
您可以直接使用.querySelectorAll
获取DOM元素
document.querySelectorAll("#personal-info-view tbody tr td")[0].innerHTML;
我想我应该试试这个:
document.getElementById('personal-info-view').children[0].children[0].children[1].innerHTML;
不过,如果您可以在该表单元格上获取ID,则会更好。这非常脆弱(依赖于DOM)。我想我应该尝试以下方法:
document.getElementById('personal-info-view').children[0].children[0].children[1].innerHTML;
不过,如果您可以在该表单元格上获取ID就更好了。这非常脆弱(依赖于DOM)。我们很清楚,您正试图从标签“从这里:”下面的html中获取“生日”一词:?我正试图从标签“从这里:”下面的html中获取单词/字符串10月21日
。谢谢你的提问。日期是动态的,对吗?日期是动态的,对吗。@BrianCurliss似乎你现在有很多答案需要解决,我建议你记住将引导你到出生日期的选择器,并将其保存在一个var
中,如果网站发生变化,你可以修改它。我们很清楚,你正试图得到它“生日”一词来自标签“从这里开始:”下面的html。我正试图从标签“从这里开始:”下面的html中获取单词/字符串10月21日
。谢谢你的提问。日期是动态的,对吗?日期是动态的,对吗。@BrianCurliss似乎你现在有很多答案要处理,我建议你记住将引导你到出生日期的选择器,并将其保存在var
中,如果网站发生变化,你可以修改它。jQuery没有标记。@isherwood抱歉,是这样的查看其他答案并假设。请给我一秒钟,这是一个简单的修复。jQuery没有标记。@isherwood抱歉,查看其他答案并假设。请给我一秒钟,这是一个简单的修复。