2013-03-19 1 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 LI в списке на тот момент? Потому что это должно работать, см. Http://jsfiddle.net/Ykgyv/ – bfavaretto

+0

@bfavaretto клик не работает, потому что он не экспортирует отчет – kalu

+0

См. Мой обновленный комментарий, он должен работать. Проверьте наличие ошибок в консоли. – bfavaretto

ответ

1

Можете ли вы показать, как HTML-код списка Yours? Имея этот 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-код, потому что у меня все работает нормально, но я хочу помочь людям. –

+0

Вы отправили * комментарий * в качестве * ответа *. Возможно, «загрязнение» было слишком сильным термином, но ваш комментарий определенно не является ответом. Когда вы получите больше репа, вы можете прокомментировать ниже вопроса, но до тех пор, пожалуйста, не оставляйте комментарии в качестве ответов. –

+0

Большое спасибо, для просветления, капитан Очевидный –