我需要获得第一个包含字符串"Routed:"
的类
然后获取下一个字符串/尝试使用document.querySelector
不确定这是否是正确的方向
<td class="msvb2">Routed:</td>
<td class="msvb2">AAZ12332</td>
修改更新:
var tds = document.getElementsByClassName('ms-cellstyle ms-vb2');
var value, index = 0, length = tds.length;
for ( ; index < length; index++) {
- if (tds[index].textContent == 'Routed:') {
- value = tds[index].nextElementSibling.textContent;
- break;
- }
}
document.getElementsByClassName('ms-cellstyle ms-vb2').textContent = value;
console.log(textContent);
正在返回:
Uncaught ReferenceError: textContent is not defined
答案 0 :(得分:2)
一种方法是按类选择所有元素并检查其内容,然后当找到匹配的内容时,获取下一个兄弟并获取其内容。
小提琴:http://jsfiddle.net/grkn9tpa/1/
var tds = document.getElementsByClassName('msvb2');
var value, index = 0, length = tds.length;
for ( ; index < length; index++) {
if (tds[index].textContent == 'Routed:') {
value = tds[index].nextElementSibling.textContent;
break;
}
}
答案 1 :(得分:0)
抓住所有元素(td),循环遍历它们,如果发现textContent等于你的搜索字符串,只需返回循环中下一个节点的值。
function getNextValue (searchStr) {
var nextVal = '', tds = document.querySelectorAll('td');
for (var i=0; i<tds.length; i++) {
if (tds[i].textContent === searchStr) {
return tds[i+1].textContent;
}
}
};
console.log( getNextValue('Routed:') );