1

I wrote this script but it only works if I don't ad class="yes", but if iI add it, it won't work, what's the reason for this. Thank you.

This works:

<script type="text/javascript">  

    var d=new Date();
    var weekday=new Array(7);
    weekday[0]="<div>Sunday</div>";
    weekday[1]="<div>Monday</div>";
    weekday[2]="<div>Tuesday</div>";
    weekday[3]="<div>Wednesday</div>";
    weekday[4]="<div>Thursday</div>";
    weekday[5]="<div>Friday</div>";
    weekday[6]="<div>Saturday</div>";

    document.write("Today is " + weekday[d.getDay()]);

</script>

This doesn't work

<script type="text/javascript">

    var d=new Date();
    var weekday=new Array(7);
    weekday[0]="<div class="yes">Sunday</div>";
    weekday[1]="<div class="yes">Monday</div>";
    weekday[2]="<div class="yes">Tuesday</div>";
    weekday[3]="<div class="yes">Wednesday</div>";
    weekday[4]="<div class="yes">Thursday</div>";
    weekday[5]="<div class="yes">Friday</div>";
    weekday[6]="<div class="yes">Saturday</div>";

    document.write("Today is " + weekday[d.getDay()]);

 </script>

4 Answers 4

4

Try single quote:

<script type="text/javascript">

    var d=new Date();
    var weekday=new Array(7);
    weekday[0]="<div class='yes'>Sunday</div>";
    weekday[1]="<div class='yes'>Monday</div>";
    weekday[2]="<div class='yes'>Tuesday</div>";
    weekday[3]="<div class='yes'>Wednesday</div>";
    weekday[4]="<div class='yes'>Thursday</div>";
    weekday[5]="<div class='yes'>Friday</div>";
    weekday[6]="<div class='yes'>Saturday</div>";

    document.write("Today is " + weekday[d.getDay()]);

 </script>
Sign up to request clarification or add additional context in comments.

Comments

3

Notice the syntax highlighting - your double quotes are matching with the starting and ending double quotes for the string. You need to escape them:

<script type="text/javascript">

    var d = new Date();
    var weekday = new Array(7);
    weekday[0] = "<div class=\"yes\">Sunday</div>";
    weekday[1] = "<div class=\"yes\">Monday</div>";
    weekday[2] = "<div class=\"yes\">Tuesday</div>";
    weekday[3] = "<div class=\"yes\">Wednesday</div>";
    weekday[4] = "<div class=\"yes\">Thursday</div>";
    weekday[5] = "<div class=\"yes\">Friday</div>";
    weekday[6] = "<div class=\"yes\">Saturday</div>";

    document.write("Today is " + weekday[d.getDay()]);

</script>

Oh, and a possibly easier way to do this:

<script type="text/javascript">
    document.write("Today is <div class=\"yes\">" +
        ["Sun", "Mon", "Tues", "Wednes", "Thurs", "Fri", "Satur"][new Date().getDay()] +
        "day</div>");
</script>

Comments

2

Your double quote is breaking the string. Change

weekday[0]="<div class="yes">Sunday</div>";

to

weekday[0]="<div class='yes'>Sunday</div>";

Comments

2

You need to use single quotes:

weekday[0]="<div class='yes'>Sunday</div>";

If you don't do it, your String won't be valid because the first String accepted will be

"<div class=" 

and then the rest won't be expected.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.