Почему я получаю сообщение об ошибке при попытке добавить элемент в документ? - PullRequest
1 голос
/ 23 октября 2019

У меня есть пользовательский метод:

prependCities() {
  if(process.client) {
    var locations = document.createElement("datalist");
    locations.id = "locations";
    var cities = this.cities;
    for(var i = 0; i < cities.length; i++) {
        var opt = cities[i];
        var el = document.createElement("option");
        el.textContent = opt;
        el.value = opt;
        locations.appendChild(el);
    }​
    var body = document.getElementsByTagName("form")[0]; 
    body.insertBefore(locations, body.children[0]);
  }
}

Когда я запускаю этот метод на mounted hook, появляется сообщение об ошибке:

SyntaxError: C: \ xampp \ htdocs \newbabolo \ components \ MyForm.vue: неожиданный символ '(420: 9)

  418 |             el.value = opt;
  419 |             locations.appendChild(el);
> 420 |         }​
      |          ^
  421 |         var body = document.getElementsByTagName("form")[0]; 
  422 |         body.insertBefore(locations, body.children[0]);
  423 |       }

Где у меня возникла ошибка?

Ответы [ 2 ]

2 голосов
/ 23 октября 2019

https://jsfiddle.net/nujrts0m/3/

Это работает для меня. Посмотрите:)

prependCities() {
  if(process.client) {
    var locations = document.createElement("datalist");
    locations.id = "locations";
    var cities = this.cities;
    for(var i = 0; i < cities.length; i++) {
        var opt = cities[i];
        var el = document.createElement("option");
        el.textContent = opt;
        el.value = opt;
        locations.appendChild(el);
    }
    var body = document.getElementsByTagName("form")[0]; 
    body.insertBefore(locations, body.children[0]);
  }
}
1 голос
/ 23 октября 2019

В этом столбце есть невидимый символ.

См. Здесь: https://jsfiddle.net/1tm5zqda/

prependCities() {
  if(process.client) {
    var locations = document.createElement("datalist");
    locations.id = "locations";
    var cities = this.cities;
    for(var i = 0; i < cities.length; i++) {
        var opt = cities[i];
        var el = document.createElement("option");
        el.textContent = opt;
        el.value = opt;
        locations.appendChild(el);
    }
    var body = document.getElementsByTagName("form")[0]; 
    body.insertBefore(locations, body.children[0]);
  }
}
...