2013-03-19 82 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