Javascript 如何删除没有任何id的td

Javascript 如何删除没有任何id的td,javascript,Javascript,你好,我想删除“你在军队服役过吗?”和“否”,如果答案是“否”,但什么时候会显示“是” 不管我试过什么,但都不管用 <script type="text/javascript"> (function(){ for(i = 0; (a = document.getElementsByTagName("td")[i]); i++){ if(document.getElementsByTagName("span")[i].innerHTML.indexOf('Have you

你好,我想删除“你在军队服役过吗?”和“否”,如果答案是“否”,但什么时候会显示“是”

不管我试过什么,但都不管用

<script type="text/javascript">
(function(){
  for(i = 0; (a = document.getElementsByTagName("td")[i]); i++){
    if(document.getElementsByTagName("span")[i].innerHTML.indexOf('Have you served in the military') > -1){
    document.getElementsByTagName("td")[i].style.display = "none";
    }
  }
})();
</script>

(功能(){
对于(i=0;(a=document.getElementsByTagName(“td”)[i]);i++){
if(document.getElementsByTagName(“span”)[i].innerHTML.indexOf('你在军队服役过吗')>-1){
document.getElementsByTagName(“td”)[i].style.display=“无”;
}
}
})();

您可以像以前一样获取所有td元素,然后在其中获取span元素:

var tds = document.getElementsByTagName('TD');
for (var i = 0, l = tds.length; i != l; ++i) {
    var spans = tds[i].getElementsByTagName('SPAN');
    for (var j = 0, l2 = spans.length; j != l2; ++j) {
        var span = spans[j];
        if ((span.textContent = span.innerText).indexOf('Have you served in the military') != -1) {
            span.style.display = 'none';
            break;
        }
    }
}
编辑:OP只想在td内容为“否”时删除跨度(同时删除td元素)


您可以使用元素的子元素,或者只进行查找替换,甚至隐藏和显示。

看起来您有一个申请表,
文档
可能有更多的跨距,一些跨距在
td
元素之外,因此您无法正确选择
跨距与
td

<script type="text/javascript">
    (function(){
      for(i = 0; (a = document.getElementsByTagName("td")[i]); i++){
        if(a.getElementsByTagName("span")[0].innerHTML.indexOf('Have you served in the military') > -1){
          a.style.display = "none";
        }
      }
    })();
</script>
因此,在比较
span
内容时,很可能不是循环
td
中的
span

<script type="text/javascript">
    (function(){
      for(i = 0; (a = document.getElementsByTagName("td")[i]); i++){
        if(a.getElementsByTagName("span")[0].innerHTML.indexOf('Have you served in the military') > -1){
          a.style.display = "none";
        }
      }
    })();
</script>

(功能(){
对于(i=0;(a=document.getElementsByTagName(“td”)[i]);i++){
if(a.getElementsByTagName(“span”)[0].innerHTML.indexOf('你在军队服役过吗')>-1){
a、 style.display=“无”;
}
}
})();

我将if语句更改为在循环的
td
中选择
span
,应该可以做到这一点。

您可以使用id查找,然后找到它的父项并将其删除。似乎效果非常好->如果答案为“否”,我必须同时删除问题和答案。“否”也在td中,但没有任何id,之后我必须删除两者。上传的图像只是一个td元素,内容为“是”,但我将编辑我的答案。。。