获取带字符串的类然后获取以下字符串

时间:2015-11-10 16:02:30

标签: javascript

我需要获得第一个包含字符串"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

2 个答案:

答案 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:') );