Ошибка в функции JavaScript - PullRequest
       4

Ошибка в функции JavaScript

0 голосов
/ 19 апреля 2011

У меня ошибка при использовании функции javascript: моя функция отображает содержимое элемента div, но когда я раскомментирую некоторый код, он больше не работает.У кого-то есть идеи, почему?

    function traverse(){
        var root=document.getElementById('tree0').childNodes;
        for(var i=0;i<root.length;i++) {
                var lis = root[i];
                var number =0;
                for (var member in lis) {
                    output.innerHTML+=lis[member];
                    /*var assertion = lis[member];
                    var result = assertion.indexOf("Bookmarks menu");
                    if(result != -1) {
                       output.innerHTML+='Test';
                    }*/

                 }
         }
     }

спасибо,

Бруно

Ответы [ 3 ]

4 голосов
/ 19 апреля 2011

Вы можете получить больше, чем ожидаете, когда делаете за ... в ...

ЭТО то, что вы хотите?http://jsfiddle.net/bM9Bn/

<div id="tree0">
  <div id="bla">
    bla
  </div>
  <div id="Bookmarks menu">
    Bookmarks Menu
  </div>
</div>
<hr />
<div id="output"></div>
<script>
var output = document.getElementById("output")
function traverse(){
  var root=document.getElementById('tree0').childNodes;
  for(var i=0;i<root.length;i++) {
    var lis = root[i];
    var number =0;
    for (var member in lis) {
//      output.innerHTML+="["+member+":"+lis[member]+"]";
      if (member == "id" || member == "textContent") {
        output.innerHTML+="["+member+":"+lis[member]+"]";
        var assertion = lis[member];
        // the typeof test not needed if we only process textContent and ID
        if (typeof assertion == "string") { 
          var result = assertion.indexOf("Bookmarks menu");
          if(result != -1) {
            output.innerHTML+='<span style="color:red">Test</span>';
          }
        }
      }
    }
  }
}
traverse()
</script>     
0 голосов
/ 19 апреля 2011

Вы проверяете переменную 'result', но устанавливаете переменную 'resultat'.Попробуйте использовать resultAt в условном выражении, и я думаю, что оно будет работать для вас.

0 голосов
/ 19 апреля 2011

Просто смотрим быстро - вар, и если утверждение должно нас обоих привести?

var resultat = assertion.indexOf ("Меню закладок"); if (результат * при *! = -1) {

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...