当嵌套节点为value时,获取上层节点的innerHTML

时间:2014-07-13 10:42:22

标签: javascript

当c tag的值= item时,如何遍历NodeList以检索值text

HTML

<td class="one">
  <div>
    <b>
      <span>item</span>
    </b>
    <div>
      <c>text</c>
    </div>
  </div>
</td>

的javascript

search = "text";
data = document.querySelectorAll(".one, b span, c");
for (i=0; i<data.length; i++)
{
  txt=data[i].innerHTML;
  //console.log(txt)

  // not empty
  if (txt) {
    //indexOf [position] returns -1 if not found 
    var s = txt.indexOf(search);
    if (s  > -1) {
      console.log(txt)
    }
  } 
}

1 个答案:

答案 0 :(得分:1)

您可以遍历相关的单元格,并检查它们的后代:

var search, list, index, span, c;
search = "text";
list = document.querySelectorAll(".one");
for (index = 0; index < list.length; ++index) {
    c = list[index].querySelector("c");
    if (c && c.innerHTML.indexOf(search) !== -1) {
        span = list[index].querySelector("b span");
        if (span) {
            console.log(span.innerHTML);
        }
    }
}

我会注意到bc不是有效的HTML,但我认为它们代表的是......