2016-10-05 20 views
2

У меня есть div со строкой внутри него. Я хочу изменить эту строку, если произойдет что-то конкретное. Я не уверен, почему, но я не могу заставить строку изменить вообще, даже если нет условного. Я очень ржавый JavaScript, поэтому любой совет будет оценен, я медленно возвращаюсь к основам.JavaScript Изменение содержимого HTML

<div class="cell text-center" id="changeString"> Report has not yet been pulled for this organization.</div> 

var bananas = true;  
if (bananas = true){ 
    document.getElementById('changeString').innerHTML = "You have successfully run the report."; 
} 

Может ли кто-нибудь увидеть, что я делаю неправильно? Я также попытался включить JS в функцию и называть ее в div с помощью onload="methodName".

+5

Отсутствие кавычек в 'getElementById (changeString)' и '=' в случае должно быть '==' или '' ===. '=' является присваиванием, '==' и '===' являются сопоставлением – j08691

+0

'changeString' - это переменная, которая ссылается на элемент DOM. 'getElementById', однако, ожидает, что будет передано строковое значение. Так что либо делайте 'changeString.innerHTML = ...' или 'document.getElementById ('changeString'). InnerHTML = ...' –

+0

Хорошая благодарность. 'var bananas = true; console.log (бананы); \t if (bananas == true) { \t \t document.getElementById ("changeString"). InnerHTML = "Вы успешно выполнили отчет."; } 'Это все еще не работает, но я вижу в консоли, что он возвращает true. – Olivia

ответ

3

Как @ j08691 упоминается в the above comment вы должны добавить кавычки в getElementById():

document.getElementById("changeString").innerHTML = "You have successfully run the report." 
________________________^____________^ 

И использовать == или === в вашем состоянии для сравнения вместо равного =, который используется для задания:

if (bananas === true){ 

И он будет работать так, как вы могли бы видеть ниже.

Надеюсь, это поможет.

document.addEventListener("DOMContentLoaded", function(event) { 
 
    var bananas = true; 
 

 
    if (bananas === true){ 
 
    document.getElementById("changeString").innerHTML = "You have successfully run the report." 
 
    } 
 
});
<div class="cell text-center" id="changeString"> Report has not yet been pulled for this organization.</div>

+0

Благодарим вас за отзыв. Я считаю, что у меня проблема с моей IDE, ваш код и JSFiddle обеспечили всю работу, просто не с моими текущими настройками по какой-то причине. – Olivia

+0

Приветствую вас, вы пытались добавить код внутри готовой функции? попробуйте мое обновление .. –

+0

Я просто пробовал и не добился успеха. – Olivia

Смежные вопросы