Не удается исправить код ошибки: & ldquo; Uncaught SyntaxError: Неожиданный идентификатор & rdquo; используя JQuery [дубликат]

Вы используете массив как объект, разница между getElementbyId и getElementsByClassName такова:

  • getElementbyId вернет вам объект.
  • getElementsByClassName вернет вам массив.

getElementsByClassName

Метод getElementsByClassName(classNames) принимает строку, содержащую неупорядоченный набор уникальных разделенных пробелами маркеры, представляющие классы. При вызове метод должен возвращать живой объект NodeList, содержащий все элементы документа, которые имеют все классы, указанные в этом аргументе, получив классы, разделив строку на пробелы. Если в аргументе нет токенов, тогда метод должен возвращать пустой NodeList.

blockquote>

https://www.w3.org/TR/2008/WD-html5 -20080610 / dom.html # getelementsbyclassname

getElementById

Метод getElementById () обращается к первому элементу с указанным id.

blockquote>

http://www.w3schools.com/jsref/met_doc_getelementbyid.asp

в вашем коде строки:

1- document.getElementsByClassName ('myElement'). Style.size = '100px';

blockquote>

НЕ будет работать, как ожидалось, потому что getElementByClassName вернет массив, и массив будет НЕ имеет свойство style, вы будете обращаться к каждому element, итерации их.

Вот почему функция getElementById работает на вас, эта функция вернет вам прямой объект, и поэтому вы сможет получить доступ к свойству style.

8
задан Álvaro González 10 April 2012 в 12:13
поделиться

1 ответ

Здесь есть несколько проблем. Вы должны использовать JSLint , который является очень хорошим инструментом обеспечения качества JavaScript. Это подтвердит ваш JavaScript и укажет на кажущиеся проблемы.

Сначала:

aircon = "yes"

должно быть

aircon == "yes"

во-вторых:

if result = "Lambourghini Aventador")

должно быть

if (result == "Lambourghini Aventador")

в-третьих

result = "some form of SUV"

должно быть

result = "some form of SUV";

в-четвертых

воздерживаться от используя ==, вместо этого используйте стандарт JavaScript ===

. Читайте, почему здесь, в этой очень хорошей записи Stackoverflow !

11
ответ дан Henrik Andersson 22 August 2018 в 21:31
поделиться
  • 1
    Вы предлагаете JSLint и показывать == во всем своем ответе? Теперь это иронично! :п – Florian Margaine 10 April 2012 в 12:36
  • 2
    Да, однако он / она может захотеть использовать == по любой причине, которую они хотят. Я пытался следовать его / ее конвенции кодирования, вот почему. – Henrik Andersson 10 April 2012 в 12:37
  • 3
    PS, который должен быть «Lamborghini» не "Lambourghini". – jarmod 25 July 2013 в 17:09
Другие вопросы по тегам:

Похожие вопросы: