2013-03-19 49 views
0

我正在使用下面的脚本,但它不起作用的地方,我点击。我需要自动点击一个childNodes。自动点击childNode

<script type="text/javascript"> 
    window.onload = function() { 
     var formatDropDown = document.getElementById('rvProcess_ctl05_ctl04_ctl00_Menu'); 
     var formats = formatDropDown.childNodes; 

     if (formatDropDown != null) { 
      formatDropDown.removeChild(formats[3]); 
      formatDropDown.removeChild(formats[1]); 
     } 

     **var item = formatDropDown.getElementsByTagName('LI')[2]; 
     item.click();** 

    } 
</script> 

感谢

+1

你有什么错误吗?你确定在那个时候你还有3个名单?因为这应该工作,请参阅http://jsfiddle.net/Ykgyv/ – bfavaretto 2013-03-19 21:51:10

+0

@bfavaretto点击不起作用,因为它不会导出报告 – kalu 2013-03-19 21:54:14

+0

看到我更新的评论,它应该工作。检查控制台是否有错误。 – bfavaretto 2013-03-19 21:55:10

回答

1

你能告诉为你的列表中的HTML代码? 有了这个HTML代码一切正常

<ul id="rvProcess_ctl05_ctl04_ctl00_Menu"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul> 

我劝你写的代码在一条线上,当你想和子节点的工作。空格和换行符被视为文本类型的子项。 我实现了一个jQuery的尝试,如果最后的李点击,我做了以下内容:

window.onload = function() { 
      $("li").click(function(e){ 
       alert("clicked"); 
      }); 
      var formatDropDown = document.getElementById('rvProcess_ctl05_ctl04_ctl00_Menu'); 
      var formats = formatDropDown.childNodes; 
      if (formatDropDown != null) { 
       formatDropDown.removeChild(formats[3]); 
       formatDropDown.removeChild(formats[1]); 
      } 

      var item = formatDropDown.getElementsByTagName('LI')[2]; 
      item.click(); 
     } 

和它的作品完美。

+0

我不污染答案,我希望看到html代码,因为我有一切正常,但我想帮助人们 – 2013-03-19 23:26:55

+0

您发布了*评论*作为*答案*。也许“污染”这个词太强大了,但你的评论绝对不是答案。当你获得更多的代表时,你可以在问题的下面发表评论,但在此之前请不要留下评论作为答案。 – 2013-03-19 23:28:29

+0

非常感谢,为启发,上尉明显 – 2013-03-19 23:34:21